commit c6150aab974efc39d115707dd67f2da96c639d62 Author: Blake Leverington Date: Wed Dec 1 16:25:41 2021 +0100 moved to pi git diff --git a/README.md b/README.md new file mode 100644 index 0000000..f0a86fc --- /dev/null +++ b/README.md @@ -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 diff --git a/SciFiMatG4_v2.pdf b/SciFiMatG4_v2.pdf new file mode 100644 index 0000000..150186d Binary files /dev/null and b/SciFiMatG4_v2.pdf differ diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake b/SciFiSim/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake new file mode 100644 index 0000000..2bef0e8 --- /dev/null +++ b/SciFiSim/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake @@ -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 "") + + + diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake b/SciFiSim/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..15f80ba --- /dev/null +++ b/SciFiSim/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake @@ -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 "") + + + diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin b/SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000..b9fc8b8 Binary files /dev/null and b/SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin differ diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin b/SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000..3bd15eb Binary files /dev/null and b/SciFiSim/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CMakeSystem.cmake b/SciFiSim/CMakeFiles/2.8.12.2/CMakeSystem.cmake new file mode 100644 index 0000000..cc7fbf7 --- /dev/null +++ b/SciFiSim/CMakeFiles/2.8.12.2/CMakeSystem.cmake @@ -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) diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c b/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..cba81d4 --- /dev/null +++ b/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c @@ -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 diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/a.out b/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/a.out new file mode 100755 index 0000000..4039bb0 Binary files /dev/null and b/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdC/a.out differ diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp b/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..e8220b2 --- /dev/null +++ b/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -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; +} diff --git a/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out b/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out new file mode 100755 index 0000000..092e36f Binary files /dev/null and b/SciFiSim/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out differ diff --git a/SciFiSim/CMakeFiles/3.3.2/CMakeCCompiler.cmake b/SciFiSim/CMakeFiles/3.3.2/CMakeCCompiler.cmake new file mode 100644 index 0000000..aa10ac5 --- /dev/null +++ b/SciFiSim/CMakeFiles/3.3.2/CMakeCCompiler.cmake @@ -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 "") + + + diff --git a/SciFiSim/CMakeFiles/3.3.2/CMakeCXXCompiler.cmake b/SciFiSim/CMakeFiles/3.3.2/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..b7cc969 --- /dev/null +++ b/SciFiSim/CMakeFiles/3.3.2/CMakeCXXCompiler.cmake @@ -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 "") + + + diff --git a/SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_C.bin b/SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000..b9b45ef Binary files /dev/null and b/SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_C.bin differ diff --git a/SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_CXX.bin b/SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000..b76cf56 Binary files /dev/null and b/SciFiSim/CMakeFiles/3.3.2/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/SciFiSim/CMakeFiles/3.3.2/CMakeSystem.cmake b/SciFiSim/CMakeFiles/3.3.2/CMakeSystem.cmake new file mode 100644 index 0000000..09a5311 --- /dev/null +++ b/SciFiSim/CMakeFiles/3.3.2/CMakeSystem.cmake @@ -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) diff --git a/SciFiSim/CMakeFiles/3.3.2/CompilerIdC/CMakeCCompilerId.c b/SciFiSim/CMakeFiles/3.3.2/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..444e409 --- /dev/null +++ b/SciFiSim/CMakeFiles/3.3.2/CompilerIdC/CMakeCCompilerId.c @@ -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 diff --git a/SciFiSim/CMakeFiles/3.3.2/CompilerIdC/a.out b/SciFiSim/CMakeFiles/3.3.2/CompilerIdC/a.out new file mode 100755 index 0000000..f276321 Binary files /dev/null and b/SciFiSim/CMakeFiles/3.3.2/CompilerIdC/a.out differ diff --git a/SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp b/SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..721698c --- /dev/null +++ b/SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -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; +} diff --git a/SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/a.out b/SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/a.out new file mode 100755 index 0000000..1193808 Binary files /dev/null and b/SciFiSim/CMakeFiles/3.3.2/CompilerIdCXX/a.out differ diff --git a/SciFiSim/CMakeFiles/CMakeOutput.log b/SciFiSim/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..8319644 --- /dev/null +++ b/SciFiSim/CMakeFiles/CMakeOutput.log @@ -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 diff --git a/SciFiSim/CMakeFiles/CMakeRuleHashes.txt b/SciFiSim/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000..0c032c2 --- /dev/null +++ b/SciFiSim/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,2 @@ +# Hashes of file build rules. +887067886e476ebf1513a83a71192e3e CMakeFiles/DEPENDS diff --git a/SciFiSim/CMakeFiles/DEPENDS.dir/DependInfo.cmake b/SciFiSim/CMakeFiles/DEPENDS.dir/DependInfo.cmake new file mode 100644 index 0000000..86c3d8a --- /dev/null +++ b/SciFiSim/CMakeFiles/DEPENDS.dir/DependInfo.cmake @@ -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 + ) diff --git a/SciFiSim/CMakeFiles/DEPENDS.dir/build.make b/SciFiSim/CMakeFiles/DEPENDS.dir/build.make new file mode 100644 index 0000000..3e377c5 --- /dev/null +++ b/SciFiSim/CMakeFiles/DEPENDS.dir/build.make @@ -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 + diff --git a/SciFiSim/CMakeFiles/DEPENDS.dir/cmake_clean.cmake b/SciFiSim/CMakeFiles/DEPENDS.dir/cmake_clean.cmake new file mode 100644 index 0000000..6bcb598 --- /dev/null +++ b/SciFiSim/CMakeFiles/DEPENDS.dir/cmake_clean.cmake @@ -0,0 +1,5 @@ + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/DEPENDS.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/SciFiSim/CMakeFiles/DEPENDS.dir/progress.make b/SciFiSim/CMakeFiles/DEPENDS.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/SciFiSim/CMakeFiles/DEPENDS.dir/progress.make @@ -0,0 +1 @@ + diff --git a/SciFiSim/CMakeFiles/Makefile2 b/SciFiSim/CMakeFiles/Makefile2 new file mode 100644 index 0000000..2ef6c77 --- /dev/null +++ b/SciFiSim/CMakeFiles/Makefile2 @@ -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 + diff --git a/SciFiSim/CMakeFiles/TargetDirectories.txt b/SciFiSim/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..990302b --- /dev/null +++ b/SciFiSim/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/DEPENDS.dir +/work/SciFiMatG4_v2/SciFiSim/CMakeFiles/scifiSim.dir diff --git a/SciFiSim/CMakeFiles/cmake.check_cache b/SciFiSim/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/SciFiSim/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/SciFiSim/CMakeFiles/feature_tests.bin b/SciFiSim/CMakeFiles/feature_tests.bin new file mode 100755 index 0000000..1c35892 Binary files /dev/null and b/SciFiSim/CMakeFiles/feature_tests.bin differ diff --git a/SciFiSim/CMakeFiles/feature_tests.c b/SciFiSim/CMakeFiles/feature_tests.c new file mode 100644 index 0000000..5a17cdb --- /dev/null +++ b/SciFiSim/CMakeFiles/feature_tests.c @@ -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]; } diff --git a/SciFiSim/CMakeFiles/feature_tests.cxx b/SciFiSim/CMakeFiles/feature_tests.cxx new file mode 100644 index 0000000..54f83f0 --- /dev/null +++ b/SciFiSim/CMakeFiles/feature_tests.cxx @@ -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]; } diff --git a/SciFiSim/CMakeFiles/progress.marks b/SciFiSim/CMakeFiles/progress.marks new file mode 100644 index 0000000..b1bd38b --- /dev/null +++ b/SciFiSim/CMakeFiles/progress.marks @@ -0,0 +1 @@ +13 diff --git a/SciFiSim/CMakeFiles/scifiSim.dir/DependInfo.cmake b/SciFiSim/CMakeFiles/scifiSim.dir/DependInfo.cmake new file mode 100644 index 0000000..7d09e01 --- /dev/null +++ b/SciFiSim/CMakeFiles/scifiSim.dir/DependInfo.cmake @@ -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 + ) diff --git a/SciFiSim/CMakeFiles/scifiSim.dir/build.make b/SciFiSim/CMakeFiles/scifiSim.dir/build.make new file mode 100644 index 0000000..c4293de --- /dev/null +++ b/SciFiSim/CMakeFiles/scifiSim.dir/build.make @@ -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 + diff --git a/SciFiSim/CMakeFiles/scifiSim.dir/cmake_clean.cmake b/SciFiSim/CMakeFiles/scifiSim.dir/cmake_clean.cmake new file mode 100644 index 0000000..f5151a3 --- /dev/null +++ b/SciFiSim/CMakeFiles/scifiSim.dir/cmake_clean.cmake @@ -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() diff --git a/SciFiSim/CMakeFiles/scifiSim.dir/depend.make b/SciFiSim/CMakeFiles/scifiSim.dir/depend.make new file mode 100644 index 0000000..c7ba541 --- /dev/null +++ b/SciFiSim/CMakeFiles/scifiSim.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for scifiSim. +# This may be replaced when dependencies are built. diff --git a/SciFiSim/CMakeFiles/scifiSim.dir/flags.make b/SciFiSim/CMakeFiles/scifiSim.dir/flags.make new file mode 100644 index 0000000..fbb514c --- /dev/null +++ b/SciFiSim/CMakeFiles/scifiSim.dir/flags.make @@ -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 + diff --git a/SciFiSim/CMakeFiles/scifiSim.dir/link.txt b/SciFiSim/CMakeFiles/scifiSim.dir/link.txt new file mode 100644 index 0000000..0451c0b --- /dev/null +++ b/SciFiSim/CMakeFiles/scifiSim.dir/link.txt @@ -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 diff --git a/SciFiSim/CMakeFiles/scifiSim.dir/progress.make b/SciFiSim/CMakeFiles/scifiSim.dir/progress.make new file mode 100644 index 0000000..7a1b005 --- /dev/null +++ b/SciFiSim/CMakeFiles/scifiSim.dir/progress.make @@ -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 + diff --git a/SciFiSim/CMakeLists.txt b/SciFiSim/CMakeLists.txt new file mode 100644 index 0000000..2f0c1ce --- /dev/null +++ b/SciFiSim/CMakeLists.txt @@ -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) + + diff --git a/SciFiSim/FindROOT.cmake b/SciFiSim/FindROOT.cmake new file mode 100644 index 0000000..bdabbc5 --- /dev/null +++ b/SciFiSim/FindROOT.cmake @@ -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() \ No newline at end of file diff --git a/SciFiSim/GNUmakefile b/SciFiSim/GNUmakefile new file mode 100644 index 0000000..a7ea2ba --- /dev/null +++ b/SciFiSim/GNUmakefile @@ -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 + diff --git a/SciFiSim/GNUmakefile~ b/SciFiSim/GNUmakefile~ new file mode 100644 index 0000000..db86326 --- /dev/null +++ b/SciFiSim/GNUmakefile~ @@ -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 + diff --git a/SciFiSim/Makefile b/SciFiSim/Makefile new file mode 100644 index 0000000..8370d18 --- /dev/null +++ b/SciFiSim/Makefile @@ -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 + diff --git a/SciFiSim/ParameterExplanation.txt b/SciFiSim/ParameterExplanation.txt new file mode 100644 index 0000000..e7b713b --- /dev/null +++ b/SciFiSim/ParameterExplanation.txt @@ -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 diff --git a/SciFiSim/cmake_install.cmake b/SciFiSim/cmake_install.cmake new file mode 100644 index 0000000..5252c2f --- /dev/null +++ b/SciFiSim/cmake_install.cmake @@ -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}") diff --git a/SciFiSim/cmake_uninstall.cmake b/SciFiSim/cmake_uninstall.cmake new file mode 100644 index 0000000..ed5a5d5 --- /dev/null +++ b/SciFiSim/cmake_uninstall.cmake @@ -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) + diff --git a/SciFiSim/cmake_uninstall.cmake.in b/SciFiSim/cmake_uninstall.cmake.in new file mode 100644 index 0000000..a8c5f6d --- /dev/null +++ b/SciFiSim/cmake_uninstall.cmake.in @@ -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) + diff --git a/SciFiSim/geant4_validate_sources.cmake b/SciFiSim/geant4_validate_sources.cmake new file mode 100644 index 0000000..28e842a --- /dev/null +++ b/SciFiSim/geant4_validate_sources.cmake @@ -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() + diff --git a/SciFiSim/geant4_validate_sources.cmake~ b/SciFiSim/geant4_validate_sources.cmake~ new file mode 100644 index 0000000..2809c8f --- /dev/null +++ b/SciFiSim/geant4_validate_sources.cmake~ @@ -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() + diff --git a/SciFiSim/include/#SteppingAction.hh# b/SciFiSim/include/#SteppingAction.hh# new file mode 100755 index 0000000..4b3f300 --- /dev/null +++ b/SciFiSim/include/#SteppingAction.hh# @@ -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 diff --git a/SciFiSim/include/ActionInitialization.hh b/SciFiSim/include/ActionInitialization.hh new file mode 100644 index 0000000..c1010a0 --- /dev/null +++ b/SciFiSim/include/ActionInitialization.hh @@ -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 diff --git a/SciFiSim/include/Analysis.hh b/SciFiSim/include/Analysis.hh new file mode 100644 index 0000000..565fec4 --- /dev/null +++ b/SciFiSim/include/Analysis.hh @@ -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 +#include + + +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 reflectionsAtMirror; + std::vector reflectionsAtFibreSurface; + std::vector reflectionsTotalAtCladCladInterface; + std::vector reflectionsTotalAtCoreCladInterface; + std::vector reflectionsFresnelAtCladCladInterface; + std::vector reflectionsFresnelAtCoreCladInterface; + + std::vector refractionsAtCladCladInterface; + std::vector refractionsAtCoreCladInterface; + + std::vector 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 lengthInCore; + std::vector lengthInInnerCladding; + std::vector lengthInOuterCladding; + + Float_t lengthInCoreBuffer; + Float_t lengthInInnerCladdingBuffer; + Float_t lengthInOuterCladdingBuffer; +}; + +#endif diff --git a/SciFiSim/include/Analysis.hh~ b/SciFiSim/include/Analysis.hh~ new file mode 100644 index 0000000..0921852 --- /dev/null +++ b/SciFiSim/include/Analysis.hh~ @@ -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 +#include + + +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 reflectionsAtMirror; + std::vector reflectionsAtFibreSurface; + std::vector reflectionsTotalAtCladCladInterface; + std::vector reflectionsTotalAtCoreCladInterface; + std::vector reflectionsFresnelAtCladCladInterface; + std::vector reflectionsFresnelAtCoreCladInterface; + + std::vector refractionsAtCladCladInterface; + std::vector refractionsAtCoreCladInterface; + + std::vector 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 lengthInCore; + std::vector lengthInInnerCladding; + std::vector lengthInOuterCladding; + + Float_t lengthInCoreBuffer; + Float_t lengthInInnerCladdingBuffer; + Float_t lengthInOuterCladdingBuffer; +}; + +#endif diff --git a/SciFiSim/include/Convert.hh b/SciFiSim/include/Convert.hh new file mode 100644 index 0000000..5b290be --- /dev/null +++ b/SciFiSim/include/Convert.hh @@ -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 + diff --git a/SciFiSim/include/DetectorConstruction.hh b/SciFiSim/include/DetectorConstruction.hh new file mode 100644 index 0000000..fdafbce --- /dev/null +++ b/SciFiSim/include/DetectorConstruction.hh @@ -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 diff --git a/SciFiSim/include/DetectorConstruction.hh~ b/SciFiSim/include/DetectorConstruction.hh~ new file mode 100644 index 0000000..e93bd62 --- /dev/null +++ b/SciFiSim/include/DetectorConstruction.hh~ @@ -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 diff --git a/SciFiSim/include/EventAction.hh b/SciFiSim/include/EventAction.hh new file mode 100755 index 0000000..67047fc --- /dev/null +++ b/SciFiSim/include/EventAction.hh @@ -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 + + diff --git a/SciFiSim/include/Parameters.hh b/SciFiSim/include/Parameters.hh new file mode 100755 index 0000000..6a6c2d4 --- /dev/null +++ b/SciFiSim/include/Parameters.hh @@ -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 diff --git a/SciFiSim/include/PhysicsList.hh b/SciFiSim/include/PhysicsList.hh new file mode 100755 index 0000000..4312446 --- /dev/null +++ b/SciFiSim/include/PhysicsList.hh @@ -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 */ + diff --git a/SciFiSim/include/PrimaryGeneratorAction.hh b/SciFiSim/include/PrimaryGeneratorAction.hh new file mode 100755 index 0000000..a566075 --- /dev/null +++ b/SciFiSim/include/PrimaryGeneratorAction.hh @@ -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 diff --git a/SciFiSim/include/RunAction.hh b/SciFiSim/include/RunAction.hh new file mode 100755 index 0000000..95b6410 --- /dev/null +++ b/SciFiSim/include/RunAction.hh @@ -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*/ diff --git a/SciFiSim/include/SensitiveDetector.hh b/SciFiSim/include/SensitiveDetector.hh new file mode 100755 index 0000000..5bee8c8 --- /dev/null +++ b/SciFiSim/include/SensitiveDetector.hh @@ -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 + diff --git a/SciFiSim/include/StackingAction.hh b/SciFiSim/include/StackingAction.hh new file mode 100755 index 0000000..9c31fb7 --- /dev/null +++ b/SciFiSim/include/StackingAction.hh @@ -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 + +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 ProcMap; + ProcMap procs; + void AddProcess(const G4VProcess*); + void Reset(); +}; + + +#endif + diff --git a/SciFiSim/include/SteppingAction.hh b/SciFiSim/include/SteppingAction.hh new file mode 100755 index 0000000..cbb014b --- /dev/null +++ b/SciFiSim/include/SteppingAction.hh @@ -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 diff --git a/SciFiSim/include/SteppingAction.hh~ b/SciFiSim/include/SteppingAction.hh~ new file mode 100755 index 0000000..ba8e666 --- /dev/null +++ b/SciFiSim/include/SteppingAction.hh~ @@ -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 diff --git a/SciFiSim/old.md5 b/SciFiSim/old.md5 new file mode 100644 index 0000000..3cfabb3 --- /dev/null +++ b/SciFiSim/old.md5 @@ -0,0 +1,2 @@ +431f92380100d8b8021a25843f9994c1 /home/lhcb/roessler/geant4_workdir/bin/Linux-g++/scifiSim +6d78d4562e149bd687f3ecb9cec78279 /home/lhcb/roessler/geant4_workdir/bin/Linux-g++/scifiSim diff --git a/SciFiSim/outFile_32584.root.parameters b/SciFiSim/outFile_32584.root.parameters new file mode 100644 index 0000000..8f20a70 --- /dev/null +++ b/SciFiSim/outFile_32584.root.parameters @@ -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 diff --git a/SciFiSim/outFile_32703.root.parameters b/SciFiSim/outFile_32703.root.parameters new file mode 100644 index 0000000..8f20a70 --- /dev/null +++ b/SciFiSim/outFile_32703.root.parameters @@ -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 diff --git a/SciFiSim/randomEngineSeed.txt b/SciFiSim/randomEngineSeed.txt new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/SciFiSim/randomEngineSeed.txt @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/SciFiSim/scifiSim.cc b/SciFiSim/scifiSim.cc new file mode 100644 index 0000000..a967188 --- /dev/null +++ b/SciFiSim/scifiSim.cc @@ -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 +#include + +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; +} diff --git a/SciFiSim/src/ActionInitialization.cc b/SciFiSim/src/ActionInitialization.cc new file mode 100644 index 0000000..d04840a --- /dev/null +++ b/SciFiSim/src/ActionInitialization.cc @@ -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)); +} + diff --git a/SciFiSim/src/Analysis.cc b/SciFiSim/src/Analysis.cc new file mode 100644 index 0000000..d7b2456 --- /dev/null +++ b/SciFiSim/src/Analysis.cc @@ -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 +#include + + +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 +#include + + +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 +#include +#include "G4SystemOfUnits.hh" +#include "G4VPVParameterisation.hh" +#include "Convert.hh" +#include +#include +#include +#include +#include + +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 PMMA_elm; + std::vector 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 PMMA2_elm; + std::vector 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 Glue_elm; + std::vector 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 TiO2_elm; + std::vector 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 Abs_elm; + std::vector 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; iEnergy[i]*eV; + + G4double* ScintilEnergyDist = new G4double[E_NUMENTRIES]; + for(int i=0; iIntensity[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; iWlsEmissionEnergy[i]*eV; + + G4double* WlsEnergyDist = new G4double[WLS_E_NUMENTRIES]; + for(int i=0; iWlsEmissionIntensity[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; jValue(Energy[j]); + + for(int k=0; kValue(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; iSetSpline(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; jValue(WlsEnergy[j]); + + for(int k=0; kValue(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; iSetSpline(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; iNumberOfWlsAbsEnergies(); + G4double* WlsAbsEnergy = new G4double[WLS_ABS_ENTRIES]; + G4double* WlsAbsLength = new G4double[WLS_ABS_ENTRIES]; + + for(int j=0; jWlsAbsEnergy[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; iRefractiveIndexVacuum(),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; iParameterOutputFileName(), std::ios_base::app); + parameterOutputFile << G4endl << "Refractive indices:" << G4endl; + parameterOutputFile << "Energy/eV\tWavelength/nm\tVacuum\tClad2\tClad1\tCore" << "\n"; + for(int i=0; iAddProperty("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; jParameterOutputFileName(), std::ios_base::app); + parameterOutputFile << G4endl << "Rayleigh scattering length / m:" << G4endl; + parameterOutputFile << "Energy/eV\tWavelength/nm\tClad2\tClad1\tCore" << "\n"; + for(int i=0; iAddProperty("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; jAddProperty("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; +} + + diff --git a/SciFiSim/src/DetectorConstruction.cc~ b/SciFiSim/src/DetectorConstruction.cc~ new file mode 100755 index 0000000..ace5aec --- /dev/null +++ b/SciFiSim/src/DetectorConstruction.cc~ @@ -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 +#include +#include "G4SystemOfUnits.hh" +#include "G4VPVParameterisation.hh" +#include "Convert.hh" +#include +#include +#include +#include +#include + +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 PMMA_elm; + std::vector 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 PMMA2_elm; + std::vector 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 Glue_elm; + std::vector 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 TiO2_elm; + std::vector 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 Abs_elm; + std::vector 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; iEnergy[i]*eV; + + G4double* ScintilEnergyDist = new G4double[E_NUMENTRIES]; + for(int i=0; iIntensity[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; iWlsEmissionEnergy[i]*eV; + + G4double* WlsEnergyDist = new G4double[WLS_E_NUMENTRIES]; + for(int i=0; iWlsEmissionIntensity[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; jValue(Energy[j]); + + for(int k=0; kValue(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; iSetSpline(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; jValue(WlsEnergy[j]); + + for(int k=0; kValue(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; iSetSpline(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; iNumberOfWlsAbsEnergies(); + G4double* WlsAbsEnergy = new G4double[WLS_ABS_ENTRIES]; + G4double* WlsAbsLength = new G4double[WLS_ABS_ENTRIES]; + + for(int j=0; jWlsAbsEnergy[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; iRefractiveIndexVacuum(),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; iParameterOutputFileName(), std::ios_base::app); + parameterOutputFile << G4endl << "Refractive indices:" << G4endl; + parameterOutputFile << "Energy/eV\tWavelength/nm\tVacuum\tClad2\tClad1\tCore" << "\n"; + for(int i=0; iAddProperty("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; jParameterOutputFileName(), std::ios_base::app); + parameterOutputFile << G4endl << "Rayleigh scattering length / m:" << G4endl; + parameterOutputFile << "Energy/eV\tWavelength/nm\tClad2\tClad1\tCore" << "\n"; + for(int i=0; iAddProperty("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; jAddProperty("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; +} + + diff --git a/SciFiSim/src/EventAction.cc b/SciFiSim/src/EventAction.cc new file mode 100755 index 0000000..0156356 --- /dev/null +++ b/SciFiSim/src/EventAction.cc @@ -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); +} diff --git a/SciFiSim/src/Parameters.cc b/SciFiSim/src/Parameters.cc new file mode 100755 index 0000000..47dc349 --- /dev/null +++ b/SciFiSim/src/Parameters.cc @@ -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 +#include + + + +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 energyVector; + std::vector 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> 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 wlsAbsEnergyVector; + std::vector 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 wlsEmissionEnergyVector; + std::vector 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> 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; iSetWLSTimeProfile("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(); +} + diff --git a/SciFiSim/src/PhysicsList.cc~ b/SciFiSim/src/PhysicsList.cc~ new file mode 100755 index 0000000..e3f5959 --- /dev/null +++ b/SciFiSim/src/PhysicsList.cc~ @@ -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(); +} + diff --git a/SciFiSim/src/PrimaryGeneratorAction.cc b/SciFiSim/src/PrimaryGeneratorAction.cc new file mode 100755 index 0000000..297c4e9 --- /dev/null +++ b/SciFiSim/src/PrimaryGeneratorAction.cc @@ -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); +} + diff --git a/SciFiSim/src/RunAction.cc b/SciFiSim/src/RunAction.cc new file mode 100755 index 0000000..1bc413c --- /dev/null +++ b/SciFiSim/src/RunAction.cc @@ -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*/); +} \ No newline at end of file diff --git a/SciFiSim/src/SensitiveDetector.cc b/SciFiSim/src/SensitiveDetector.cc new file mode 100755 index 0000000..1eeb653 --- /dev/null +++ b/SciFiSim/src/SensitiveDetector.cc @@ -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; +} diff --git a/SciFiSim/src/StackingAction.cc b/SciFiSim/src/StackingAction.cc new file mode 100755 index 0000000..3075da9 --- /dev/null +++ b/SciFiSim/src/StackingAction.cc @@ -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<second++; + else + procs[p]=1; +} + +void StackingAction::Reset() +{ + for (ProcMap::iterator it = procs.begin() ; it!=procs.end() ; ++it) + it->second=0; +} diff --git a/SciFiSim/src/SteppingAction.cc b/SciFiSim/src/SteppingAction.cc new file mode 100755 index 0000000..9a05162 --- /dev/null +++ b/SciFiSim/src/SteppingAction.cc @@ -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 +#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(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 ++ */ +} diff --git a/SciFiSim/src/SteppingAction.cc~ b/SciFiSim/src/SteppingAction.cc~ new file mode 100755 index 0000000..dfa8911 --- /dev/null +++ b/SciFiSim/src/SteppingAction.cc~ @@ -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 +#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(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 ++ */ +} diff --git a/SciFiSim/src/dose.root b/SciFiSim/src/dose.root new file mode 100644 index 0000000..541c0cf Binary files /dev/null and b/SciFiSim/src/dose.root differ diff --git a/SciFiSim/src/dosehist.C b/SciFiSim/src/dosehist.C new file mode 100644 index 0000000..87cf294 --- /dev/null +++ b/SciFiSim/src/dosehist.C @@ -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(); +} diff --git a/SciFiSim/src/dosehist.C~ b/SciFiSim/src/dosehist.C~ new file mode 100644 index 0000000..d14428b --- /dev/null +++ b/SciFiSim/src/dosehist.C~ @@ -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"); + +} diff --git a/SimulationData/G4History.macro b/SimulationData/G4History.macro new file mode 100644 index 0000000..574ea0c --- /dev/null +++ b/SimulationData/G4History.macro @@ -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 diff --git a/SimulationData/MyAnalysis/GNUmakefile b/SimulationData/MyAnalysis/GNUmakefile new file mode 100644 index 0000000..7601f23 --- /dev/null +++ b/SimulationData/MyAnalysis/GNUmakefile @@ -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} diff --git a/SimulationData/MyAnalysis/GNUmakefile~ b/SimulationData/MyAnalysis/GNUmakefile~ new file mode 100644 index 0000000..b38b35f --- /dev/null +++ b/SimulationData/MyAnalysis/GNUmakefile~ @@ -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} diff --git a/SimulationData/MyAnalysis/myanalysis.C b/SimulationData/MyAnalysis/myanalysis.C new file mode 100644 index 0000000..d02c546 --- /dev/null +++ b/SimulationData/MyAnalysis/myanalysis.C @@ -0,0 +1,210 @@ +#define myanalysis_cxx +#include "myanalysis.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +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 unique_detectorCopy_vec; + std::vector 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; jentryGetEntry(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; kkFill( 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; +} diff --git a/SimulationData/MyAnalysis/myanalysis.C~ b/SimulationData/MyAnalysis/myanalysis.C~ new file mode 100644 index 0000000..a3d18d4 --- /dev/null +++ b/SimulationData/MyAnalysis/myanalysis.C~ @@ -0,0 +1,205 @@ +#define myanalysis_cxx +#include "myanalysis.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +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 unique_detectorCopy_vec; + std::vector 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; jentryGetEntry(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; +} diff --git a/SimulationData/MyAnalysis/myanalysis.h b/SimulationData/MyAnalysis/myanalysis.h new file mode 100644 index 0000000..d1e5b40 --- /dev/null +++ b/SimulationData/MyAnalysis/myanalysis.h @@ -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 +#include +#include +#include + +//#ifdef __MAKECINT__ +//#pragma link C++ class vector+; +//#pragma link C++ class vector+; +//#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 runID_vec; + std::vector eventID_vec; + std::vector detNumb_vec; + std::vector xPixel_vec; + std::vector yPixel_vec; + std::vector energy_vec; + std::vector wavelength_vec; + std::vector localtime_vec; + std::vector abstime_vec; + std::vector length_vec; + std::vector x_vec; + std::vector y_vec; + std::vector z_vec; + std::vector px_vec; + std::vector py_vec; + std::vector pz_vec; + std::vector vertexX_vec; + std::vector vertexY_vec; + std::vector vertexZ_vec; + std::vector vertexPx_vec; + std::vector vertexPy_vec; + std::vector vertexPz_vec; + std::vector gpsPosX_vec; + std::vector gpsPosY_vec; + std::vector gpsPosZ_vec; + std::vector gpsDirX_vec; + std::vector gpsDirY_vec; + std::vector gpsDirZ_vec; + std::vector runId_vec; + std::vector eventId_vec; + std::vector trackId_vec; + std::vector creatorProcess_vec; + std::vector parentId_vec; + std::vector reflMirr_vec; + std::vector reflSurf_vec; + std::vector reflTotalCladClad_vec; + std::vector reflTotalCoreClad_vec; + std::vector reflFresnelCladClad_vec; + std::vector reflFresnelCoreClad_vec; + std::vector refracCladClad_vec; + std::vector refracCoreClad_vec; + std::vector rayleighScatterings_vec; + std::vector lengthInCore_vec; + std::vector lengthInInnerCladding_vec; + std::vector lengthInOuterCladding_vec; + // std::vector detectorCopy_vec; + // std::vector 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 diff --git a/SimulationData/MyAnalysis/myanalysis.h~ b/SimulationData/MyAnalysis/myanalysis.h~ new file mode 100644 index 0000000..06492c6 --- /dev/null +++ b/SimulationData/MyAnalysis/myanalysis.h~ @@ -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 +#include +#include +#include + +//#ifdef __MAKECINT__ +//#pragma link C++ class vector+; +//#pragma link C++ class vector+; +//#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 runID_vec; + std::vector eventID_vec; + std::vector detNumb_vec; + std::vector xPixel_vec; + std::vector yPixel_vec; + std::vector energy_vec; + std::vector wavelength_vec; + std::vector localtime_vec; + std::vector abstime_vec; + std::vector length_vec; + std::vector x_vec; + std::vector y_vec; + std::vector z_vec; + std::vector px_vec; + std::vector py_vec; + std::vector pz_vec; + std::vector vertexX_vec; + std::vector vertexY_vec; + std::vector vertexZ_vec; + std::vector vertexPx_vec; + std::vector vertexPy_vec; + std::vector vertexPz_vec; + std::vector gpsPosX_vec; + std::vector gpsPosY_vec; + std::vector gpsPosZ_vec; + std::vector gpsDirX_vec; + std::vector gpsDirY_vec; + std::vector gpsDirZ_vec; + std::vector runId_vec; + std::vector eventId_vec; + std::vector trackId_vec; + std::vector creatorProcess_vec; + std::vector parentId_vec; + std::vector reflMirr_vec; + std::vector reflSurf_vec; + std::vector reflTotalCladClad_vec; + std::vector reflTotalCoreClad_vec; + std::vector reflFresnelCladClad_vec; + std::vector reflFresnelCoreClad_vec; + std::vector refracCladClad_vec; + std::vector refracCoreClad_vec; + std::vector rayleighScatterings_vec; + std::vector lengthInCore_vec; + std::vector lengthInInnerCladding_vec; + std::vector lengthInOuterCladding_vec; + std::vector detectorCopy_vec; + std::vector 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 diff --git a/SimulationData/MyAnalysis/myanalysis.o b/SimulationData/MyAnalysis/myanalysis.o new file mode 100644 index 0000000..630c95d Binary files /dev/null and b/SimulationData/MyAnalysis/myanalysis.o differ diff --git a/SimulationData/edep.C b/SimulationData/edep.C new file mode 100644 index 0000000..72b246f --- /dev/null +++ b/SimulationData/edep.C @@ -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(); + + +} diff --git a/SimulationData/muongun.mac b/SimulationData/muongun.mac new file mode 100644 index 0000000..1de5ab5 --- /dev/null +++ b/SimulationData/muongun.mac @@ -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 + + diff --git a/SimulationData/myanalysis_out.root b/SimulationData/myanalysis_out.root new file mode 100644 index 0000000..0f8bfb1 Binary files /dev/null and b/SimulationData/myanalysis_out.root differ diff --git a/SimulationData/outFile_1.root b/SimulationData/outFile_1.root new file mode 100644 index 0000000..9de750a Binary files /dev/null and b/SimulationData/outFile_1.root differ diff --git a/SimulationData/outFile_1.root.parameters b/SimulationData/outFile_1.root.parameters new file mode 100644 index 0000000..3b0ffe7 --- /dev/null +++ b/SimulationData/outFile_1.root.parameters @@ -0,0 +1,837 @@ +Length of fibre: 0.25 m +Semi axis of fibre in z: 0.5 mm +Semi axis of fibre in y: 0.5 mm +Probability to lose photons at fibre surface: 1 +Mirror placement at fibre end: 0 +Reflectivity of mirror at fibre end: 0 +Detector material vacuum/polystyrene (0/1): 1 +Used emission spectrum: "parameterFiles/p-Terphenyl_emission.csv" +Number of energies: 30 +Energy / eV Intensity +1.9 0 +2 0 +2.1 0 +2.2 0 +2.3 0 +2.4 0 +2.5 0 +2.6 0 +2.7 0 +2.831 0 +2.939 2 +3.063 5 +3.186 13 +3.31 29 +3.449 58 +3.527 69 +3.559 71 +3.607 87 +3.629 95 +3.654 100 +3.683 95 +3.755 71 +3.805 79 +3.867 53 +3.932 16 +4.058 0 +4.1 0 +4.2 0 +4.3 0 +4.4275 0 +Number of interpolated points per emission spectrum interval: 4 +Used wls absorption spectrum: "parameterFiles/TPBD_extinktion_1000ppm.csv" +Number of wls absorption energies: 66 +Energy / eV WLS Absorption Length / m +1.9 1.25e+17 +1.925 2.77e+16 +1.95 6.38e+15 +1.975 1.53e+15 +2 3.78e+14 +2.025 9.69e+13 +2.05 2.57e+13 +2.075 7.03e+12 +2.1 1.99e+12 +2.125 5.78e+11 +2.15 1.73e+11 +2.175 5.32e+10 +2.2 1.68e+10 +2.225 5.45e+09 +2.25 1.81e+09 +2.275 6.18e+08 +2.3 2.16e+08 +2.333 5.56e+07 +2.367 1.43e+07 +2.4 3.97e+06 +2.433 1.14e+06 +2.467 328000 +2.5 101000 +2.533 32000 +2.567 10100 +2.6 3390 +2.633 1170 +2.667 403 +2.7 147 +2.733 54.8 +2.767 20.3 +2.8 7.96 +2.833 3.18 +2.867 1.26 +2.9 0.527 +2.933 0.224 +2.967 0.0947 +3 0.0418 +3.02 0.0257 +3.04 0.0159 +3.0729 0.0046 +3.0934 0.00368 +3.112 0.00294 +3.1368 0.00184 +3.1616 0.00104 +3.1864 0.000613 +3.2112 0.000389 +3.236 0.000262 +3.2608 0.000184 +3.2856 0.000132 +3.3166 9.49e-05 +3.3476 7.5e-05 +3.4096 5.62e-05 +3.4716 4.62e-05 +3.5335 4.08e-05 +3.5807 3.95e-05 +3.5955 3.96e-05 +3.6575 4.13e-05 +3.7195 4.42e-05 +3.7815 5.05e-05 +3.9055 7.07e-05 +4.0295 0.00011 +4.1535 0.000171 +4.2775 0.00025 +4.4014 0.000309 +4.4275 0.000313 +Used wls emission spectrum: "parameterFiles/TPBD_emission.csv" +Number of wls emission energies: 30 +Energy / eV WLS emission intensity +1.9 0 +1.922 17 +2.046 58 +2.17 141 +2.294 307 +2.418 557 +2.542 831 +2.591 911 +2.641 968 +2.678 990 +2.715 999 +2.765 962 +2.814 891 +2.914 665 +3.038 333 +3.1 187 +3.162 76 +3.224 19 +3.286 0 +3.4 0 +3.5 0 +3.6 0 +3.7 0 +3.8 0 +3.9 0 +4 0 +4.1 0 +4.2 0 +4.3 0 +4.4275 0 +Formulae to calculate refractive indices in + - vacuum: "1.0" + - core: "sqrt( 1. + 1.44355*x*x / (x*x - 20216.) )" + - inner cladding: "sqrt( 1. + 1.18188*x*x / (x*x - 11309.) )" + - outer cladding: "sqrt( 1. + 0.98323*x*x / (x*x - 9541.) )" + with x in nm. +Scintillation yield: 8/keV +Resolution scale: 0 +Fast decay time: 1.2 ns +Slow decay time: 1.2 ns +Yield ratio: 0.8 +Birks constant: 0.15 mm/MeV +WLS decay time: 2.8 ns +Formulae to calculate absorption [1/m] in + - core: "7.9e-10*exp(6.715*1239.842/x) + 3.143e-5*TMath::Voigt(1.0/x-1.403e-3,0.816e-5,1.389e-5) + 0.466e-5*TMath::Voigt(1.0/x-1.644e-3,0.975e-5,1.389e-5) + 0.191*0.466e-5*TMath::Voigt(1.0/x-1.872e-3,0.975e-5,1.389e-5) + 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) + 4.65e-2" + - inner cladding: "119./100.*104./105.*8./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2" + - outer cladding: "143./168.*104./105.*7./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2" + with x in nm. +Formulae to calculate absorption due to irradiation [1/m] in + - core: "(( ((x<393)*27.3574*TMath::Gaus(x,250.228,53.4958)+(x>=393)*(x<498)*exp(10.4945-0.0272251*x)+(x>=498)*exp(6.47233-0.0191205*x))*(x<530)*1.1 + (x>=530)*0.02826 )*1.63/1.63+0.*0.05)*y" + - inner cladding: "( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y" + - outer cladding: "( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y" + with x in nm and y in kGy. +Used sections file: "parameterFiles/noRad.dat" +Number of sections: 1 +Formulae to calculate Rayleigh scattering [1/m] in + - core: 8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.44355*x*x / (x*x - 20216.),2)*pow(3 + 1.44355*x*x / (x*x - 20216.),2)*1.3806488e-23*295.*5.8e-10*4.010 + - inner cladding: 8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.18188*x*x / (x*x - 11309.),2)*pow(3 + 1.18188*x*x / (x*x - 11309.),2)*1.3806488e-23*295.*5.2e-10*1.1 + - outer cladding: 8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(0.98323*x*x / (x*x - 9541.),2)*pow(3 + 0.98323*x*x / (x*x - 9541.),2)*1.3806488e-23*295.*5.2e-10*1.1 + +Scintillation emission spectrum: +Energy/eV Wavelength/nm Intensity +1.9 652.548 0 +1.92 645.751 0 +1.94 639.094 0 +1.96 632.572 0 +1.98 626.183 0 +2 619.921 0 +2.02 613.783 9.20023e-06 +2.04 607.766 1.61004e-05 +2.06 601.865 1.84005e-05 +2.08 596.078 1.38004e-05 +2.1 590.401 0 +2.12 584.831 0 +2.14 579.365 0 +2.16 574.001 0 +2.18 568.735 0 +2.2 563.565 0 +2.22 558.487 8.28021e-05 +2.24 553.501 0.000167904 +2.26 548.603 0.000211605 +2.28 543.79 0.000170204 +2.3 539.062 0 +2.32 534.415 0 +2.34 529.847 0 +2.36 525.357 0 +2.38 520.942 0 +2.4 516.601 0 +2.42 512.331 0.00115003 +2.44 508.132 0.00233456 +2.46 504.001 0.00294407 +2.48 499.936 0.00236906 +2.5 495.937 0 +2.52 492.001 0 +2.54 488.127 0 +2.56 484.313 0 +2.58 480.559 0 +2.6 476.862 0 +2.62 473.222 0.0160176 +2.64 469.637 0.0325159 +2.66 466.106 0.0410054 +2.68 462.628 0.0329966 +2.7 459.201 0 +2.7262 454.788 0 +2.7524 450.459 0 +2.7786 446.211 0 +2.8048 442.043 0 +2.831 437.952 0 +2.8526 434.636 0.28176 +2.8742 431.369 0.657942 +2.8958 428.152 1.09324 +2.9174 424.982 1.55236 +2.939 421.858 2 +2.9638 418.328 2.47053 +2.9886 414.857 2.94258 +3.0134 411.443 3.47937 +3.0382 408.084 4.14411 +3.063 404.78 5 +3.0876 401.555 6.09033 +3.1122 398.381 7.43322 +3.1368 395.257 9.03094 +3.1614 392.181 10.8858 +3.186 389.153 13 +3.2108 386.147 15.4056 +3.2356 383.188 18.1427 +3.2604 380.273 21.2771 +3.2852 377.402 24.8743 +3.31 374.575 29 +3.3378 371.455 34.2769 +3.3656 368.387 40.0579 +3.3934 365.369 46.1004 +3.4212 362.4 52.1619 +3.449 359.479 58 +3.4646 357.86 61.0787 +3.4802 356.256 63.8644 +3.4958 354.666 66.2108 +3.5114 353.091 67.9714 +3.527 351.529 69 +3.5334 350.892 69.2009 +3.5398 350.258 69.3777 +3.5462 349.626 69.654 +3.5526 348.996 70.1535 +3.559 348.368 71 +3.5686 347.431 73.0832 +3.5782 346.499 75.975 +3.5878 345.572 79.4252 +3.5974 344.649 83.1836 +3.607 343.732 87 +3.6114 343.313 88.7338 +3.6158 342.896 90.414 +3.6202 342.479 92.0272 +3.6246 342.063 93.5603 +3.629 341.648 95 +3.634 341.178 96.5033 +3.639 340.71 97.812 +3.644 340.242 98.8689 +3.649 339.776 99.6173 +3.654 339.311 100 +3.6598 338.773 99.9282 +3.6656 338.237 99.3401 +3.6714 337.703 98.2879 +3.6772 337.17 96.8237 +3.683 336.639 95 +3.6974 335.328 89.3476 +3.7118 334.027 82.9609 +3.7262 332.736 77.0004 +3.7406 331.455 72.6266 +3.755 330.184 71 +3.765 329.307 71.8881 +3.775 328.435 73.8963 +3.785 327.567 76.2606 +3.795 326.704 78.2166 +3.805 325.845 79 +3.8174 324.787 77.4445 +3.8298 323.735 73.489 +3.8422 322.691 67.7111 +3.8546 321.653 60.6888 +3.867 320.621 53 +3.88 319.547 44.7311 +3.893 318.48 36.6307 +3.906 317.42 28.9648 +3.919 316.367 21.9992 +3.932 315.321 16 +3.9572 313.313 7.61483 +3.9824 311.33 2.84132 +4.0076 309.373 0.660384 +4.0328 307.439 0.052968 +4.058 305.53 0 +4.0664 304.899 0.0559523 +4.0748 304.271 0.0721042 +4.0832 303.645 0.0602801 +4.0916 303.021 0.0323039 +4.1 302.4 0 +4.12 300.933 0 +4.14 299.479 0 +4.16 298.039 0 +4.18 296.613 0 +4.2 295.2 0 +4.22 293.801 0.0140819 +4.24 292.416 0.0190834 +4.26 291.043 0.0170439 +4.28 289.683 0.0100029 +4.3 288.335 0 +4.3255 286.636 0 +4.351 284.956 0 +4.3765 283.295 0 +4.402 281.654 0 +4.4275 280.032 0 + +WLS emission spectrum: +Energy/eV Wavelength/nm Intensity +1.9 652.548 0 +1.9044 651.041 3.8041 +1.9088 649.54 7.3963 +1.9132 648.046 10.7865 +1.9176 646.559 13.9844 +1.922 645.079 17 +1.9468 636.862 29.1099 +1.9716 628.851 37.5021 +1.9964 621.039 43.9393 +2.0212 613.419 50.1843 +2.046 605.983 58 +2.0708 598.726 68.0034 +2.0956 591.641 81.3227 +2.1204 584.721 97.9403 +2.1452 577.961 117.839 +2.17 571.356 141 +2.1948 564.9 167.329 +2.2196 558.588 196.999 +2.2444 552.416 230.104 +2.2692 546.378 266.74 +2.294 540.472 307 +2.3188 534.691 350.901 +2.3436 529.033 398.187 +2.3684 523.493 448.523 +2.3932 518.069 501.572 +2.418 512.755 557 +2.4428 507.55 614.254 +2.4676 502.449 671.917 +2.4924 497.449 728.353 +2.5172 492.548 781.925 +2.542 487.743 831 +2.5518 485.87 848.818 +2.5616 484.011 865.702 +2.5714 482.166 881.678 +2.5812 480.336 896.769 +2.591 478.519 911 +2.601 476.679 924.688 +2.611 474.853 937.37 +2.621 473.042 948.907 +2.631 471.244 959.163 +2.641 469.459 968 +2.6484 468.148 973.547 +2.6558 466.843 978.381 +2.6632 465.546 982.642 +2.6706 464.256 986.469 +2.678 462.973 990 +2.6854 461.697 993.316 +2.6928 460.429 996.175 +2.7002 459.167 998.276 +2.7076 457.912 999.318 +2.715 456.664 999 +2.725 454.988 996.066 +2.735 453.324 990.498 +2.745 451.673 982.698 +2.755 450.033 973.065 +2.765 448.406 962 +2.7748 446.822 950.019 +2.7846 445.25 936.988 +2.7944 443.688 922.847 +2.8042 442.138 907.538 +2.814 440.598 891 +2.834 437.488 853.48 +2.854 434.423 811.36 +2.874 431.399 765.399 +2.894 428.418 716.359 +2.914 425.478 665 +2.9388 421.887 598.951 +2.9636 418.357 531.617 +2.9884 414.885 464.107 +3.0132 411.47 397.531 +3.038 408.111 333 +3.0504 406.452 301.827 +3.0628 404.807 271.541 +3.0752 403.174 242.242 +3.0876 401.555 214.029 +3.1 399.949 187 +3.1124 398.356 161.231 +3.1248 396.775 136.997 +3.1372 395.207 114.546 +3.1496 393.651 94.1305 +3.162 392.107 76 +3.1744 390.575 60.362 +3.1868 389.055 47.0513 +3.1992 387.548 35.8596 +3.2116 386.051 26.5786 +3.224 384.566 19 +3.2364 383.093 12.924 +3.2488 381.631 8.16403 +3.2612 380.18 4.54206 +3.2736 378.74 1.88006 +3.286 377.31 0 +3.3088 374.71 0 +3.3316 372.146 0 +3.3544 369.617 0 +3.3772 367.121 0 +3.4 364.659 0 +3.42 362.527 0.460651 +3.44 360.419 0.573774 +3.46 358.336 0.456573 +3.48 356.276 0.226247 +3.5 354.241 0 +3.52 352.228 0 +3.54 350.238 0 +3.56 348.27 0 +3.58 346.325 0 +3.6 344.401 0 +3.62 342.498 0.032111 +3.64 340.616 0.0399042 +3.66 338.755 0.0316419 +3.68 336.914 0.0155864 +3.7 335.092 0 +3.72 333.291 0 +3.74 331.509 0 +3.76 329.745 0 +3.78 328.001 0 +3.8 326.274 0 +3.82 324.566 0.00230602 +3.84 322.876 0.00286574 +3.86 321.203 0.00227244 +3.88 319.547 0.00111943 +3.9 317.908 0 +3.92 316.286 0 +3.94 314.681 0 +3.96 313.091 0 +3.98 311.518 0 +4 309.961 0 +4.02 308.418 0.000165707 +4.04 306.892 0.000206038 +4.06 305.38 0.000163517 +4.08 303.883 8.06633e-05 +4.1 302.4 0 +4.12 300.933 0 +4.14 299.479 0 +4.16 298.039 0 +4.18 296.613 0 +4.2 295.2 0 +4.22 293.801 1.38692e-05 +4.24 292.416 1.87961e-05 +4.26 291.043 1.67883e-05 +4.28 289.683 9.85372e-06 +4.3 288.335 0 +4.3255 286.636 0 +4.351 284.956 0 +4.3765 283.295 0 +4.402 281.654 0 +4.4275 280.032 0 + +WLS absorption length / m: +Energy/eV Wavelength/nm Absorption length +1.9 652.548 1.25e+17 +1.925 644.074 2.77e+16 +1.95 635.816 6.38e+15 +1.975 627.768 1.53e+15 +2 619.921 3.78e+14 +2.025 612.268 9.69e+13 +2.05 604.801 2.57e+13 +2.075 597.514 7.03e+12 +2.1 590.401 1.99e+12 +2.125 583.455 5.78e+11 +2.15 576.671 1.73e+11 +2.175 570.042 5.32e+10 +2.2 563.565 1.68e+10 +2.225 557.232 5.45e+09 +2.25 551.041 1.81e+09 +2.275 544.985 6.18e+08 +2.3 539.062 2.16e+08 +2.333 531.437 5.56e+07 +2.367 523.803 1.43e+07 +2.4 516.601 3.97e+06 +2.433 509.594 1.14e+06 +2.467 502.571 328000 +2.5 495.937 101000 +2.533 489.476 32000 +2.567 482.993 10100 +2.6 476.862 3390 +2.633 470.886 1170 +2.667 464.883 403 +2.7 459.201 147 +2.733 453.656 54.8 +2.767 448.082 20.3 +2.8 442.801 7.96 +2.833 437.643 3.18 +2.867 432.453 1.26 +2.9 427.532 0.527 +2.933 422.721 0.224 +2.967 417.877 0.0947 +3 413.281 0.0418 +3.02 410.544 0.0257 +3.04 407.843 0.0159 +3.0729 403.476 0.0046 +3.0934 400.802 0.00368 +3.112 398.407 0.00294 +3.1368 395.257 0.00184 +3.1616 392.157 0.00104 +3.1864 389.104 0.000613 +3.2112 386.099 0.000389 +3.236 383.14 0.000262 +3.2608 380.226 0.000184 +3.2856 377.356 0.000132 +3.3166 373.829 9.49e-05 +3.3476 370.367 7.5e-05 +3.4096 363.633 5.62e-05 +3.4716 357.138 4.62e-05 +3.5335 350.882 4.08e-05 +3.5807 346.257 3.95e-05 +3.5955 344.832 3.96e-05 +3.6575 338.986 4.13e-05 +3.7195 333.336 4.42e-05 +3.7815 327.87 5.05e-05 +3.9055 317.461 7.07e-05 +4.0295 307.691 0.00011 +4.1535 298.505 0.000171 +4.2775 289.852 0.00025 +4.4014 281.693 0.000309 +4.4275 280.032 0.000313 + +Refractive indices: +Energy/eV Wavelength/nm Vacuum Clad2 Clad1 Core +1.9 652.548 1 1.41625 1.48799 1.58603 +1.92 645.751 1 1.41642 1.48823 1.58654 +1.94 639.094 1 1.4166 1.48847 1.58705 +1.96 632.572 1 1.41677 1.48871 1.58756 +1.98 626.183 1 1.41695 1.48895 1.58809 +2 619.921 1 1.41713 1.4892 1.58862 +2.02 613.783 1 1.41731 1.48945 1.58915 +2.04 607.766 1 1.4175 1.4897 1.58969 +2.06 601.865 1 1.41768 1.48996 1.59024 +2.08 596.078 1 1.41787 1.49021 1.5908 +2.1 590.401 1 1.41806 1.49047 1.59136 +2.12 584.831 1 1.41825 1.49074 1.59193 +2.14 579.365 1 1.41845 1.491 1.5925 +2.16 574.001 1 1.41864 1.49127 1.59308 +2.18 568.735 1 1.41884 1.49154 1.59367 +2.2 563.565 1 1.41904 1.49182 1.59426 +2.22 558.487 1 1.41924 1.49209 1.59487 +2.24 553.501 1 1.41945 1.49237 1.59547 +2.26 548.603 1 1.41965 1.49266 1.59609 +2.28 543.79 1 1.41986 1.49294 1.59671 +2.3 539.062 1 1.42007 1.49323 1.59734 +2.32 534.415 1 1.42029 1.49352 1.59797 +2.34 529.847 1 1.4205 1.49382 1.59861 +2.36 525.357 1 1.42072 1.49411 1.59926 +2.38 520.942 1 1.42094 1.49441 1.59992 +2.4 516.601 1 1.42116 1.49472 1.60058 +2.42 512.331 1 1.42138 1.49502 1.60125 +2.44 508.132 1 1.4216 1.49533 1.60193 +2.46 504.001 1 1.42183 1.49564 1.60261 +2.48 499.936 1 1.42206 1.49596 1.6033 +2.5 495.937 1 1.42229 1.49628 1.604 +2.52 492.001 1 1.42252 1.4966 1.60471 +2.54 488.127 1 1.42276 1.49692 1.60542 +2.56 484.313 1 1.423 1.49725 1.60614 +2.58 480.559 1 1.42324 1.49758 1.60687 +2.6 476.862 1 1.42348 1.49791 1.60761 +2.62 473.222 1 1.42372 1.49825 1.60835 +2.64 469.637 1 1.42397 1.49858 1.6091 +2.66 466.106 1 1.42422 1.49893 1.60986 +2.68 462.628 1 1.42447 1.49927 1.61063 +2.7 459.201 1 1.42472 1.49962 1.6114 +2.7262 454.788 1 1.42505 1.50008 1.61243 +2.7524 450.459 1 1.42539 1.50055 1.61347 +2.7786 446.211 1 1.42573 1.50102 1.61452 +2.8048 442.043 1 1.42608 1.50149 1.61559 +2.831 437.952 1 1.42643 1.50198 1.61667 +2.8526 434.636 1 1.42672 1.50238 1.61757 +2.8742 431.369 1 1.42701 1.50278 1.61849 +2.8958 428.152 1 1.42731 1.50319 1.61941 +2.9174 424.982 1 1.42761 1.5036 1.62034 +2.939 421.858 1 1.42791 1.50402 1.62128 +2.9638 418.328 1 1.42826 1.5045 1.62237 +2.9886 414.857 1 1.42861 1.50499 1.62348 +3.0134 411.443 1 1.42897 1.50549 1.6246 +3.0382 408.084 1 1.42933 1.50598 1.62573 +3.063 404.78 1 1.42969 1.50649 1.62688 +3.0876 401.555 1 1.43006 1.50699 1.62803 +3.1122 398.381 1 1.43043 1.5075 1.62919 +3.1368 395.257 1 1.4308 1.50802 1.63037 +3.1614 392.181 1 1.43117 1.50853 1.63156 +3.186 389.153 1 1.43155 1.50906 1.63277 +3.2108 386.147 1 1.43194 1.50959 1.634 +3.2356 383.188 1 1.43233 1.51013 1.63525 +3.2604 380.273 1 1.43272 1.51068 1.63651 +3.2852 377.402 1 1.43312 1.51123 1.63778 +3.31 374.575 1 1.43352 1.51178 1.63907 +3.3378 371.455 1 1.43397 1.51241 1.64054 +3.3656 368.387 1 1.43443 1.51305 1.64202 +3.3934 365.369 1 1.43489 1.51369 1.64352 +3.4212 362.4 1 1.43536 1.51434 1.64505 +3.449 359.479 1 1.43583 1.515 1.64659 +3.4646 357.86 1 1.4361 1.51537 1.64747 +3.4802 356.256 1 1.43637 1.51575 1.64835 +3.4958 354.666 1 1.43664 1.51612 1.64923 +3.5114 353.091 1 1.43691 1.5165 1.65013 +3.527 351.529 1 1.43718 1.51688 1.65103 +3.5334 350.892 1 1.4373 1.51704 1.6514 +3.5398 350.258 1 1.43741 1.5172 1.65177 +3.5462 349.626 1 1.43752 1.51736 1.65215 +3.5526 348.996 1 1.43764 1.51751 1.65252 +3.559 348.368 1 1.43775 1.51767 1.6529 +3.5686 347.431 1 1.43792 1.51791 1.65347 +3.5782 346.499 1 1.43809 1.51815 1.65403 +3.5878 345.572 1 1.43826 1.51839 1.65461 +3.5974 344.649 1 1.43844 1.51863 1.65518 +3.607 343.732 1 1.43861 1.51887 1.65576 +3.6114 343.313 1 1.43869 1.51899 1.65602 +3.6158 342.896 1 1.43877 1.5191 1.65629 +3.6202 342.479 1 1.43885 1.51921 1.65655 +3.6246 342.063 1 1.43893 1.51932 1.65682 +3.629 341.648 1 1.43901 1.51943 1.65709 +3.634 341.178 1 1.4391 1.51956 1.65739 +3.639 340.71 1 1.43919 1.51969 1.6577 +3.644 340.242 1 1.43929 1.51981 1.658 +3.649 339.776 1 1.43938 1.51994 1.65831 +3.654 339.311 1 1.43947 1.52007 1.65862 +3.6598 338.773 1 1.43958 1.52022 1.65897 +3.6656 338.237 1 1.43968 1.52037 1.65933 +3.6714 337.703 1 1.43979 1.52052 1.65969 +3.6772 337.17 1 1.4399 1.52067 1.66005 +3.683 336.639 1 1.44001 1.52082 1.66041 +3.6974 335.328 1 1.44028 1.5212 1.66131 +3.7118 334.027 1 1.44055 1.52157 1.66222 +3.7262 332.736 1 1.44082 1.52195 1.66314 +3.7406 331.455 1 1.44109 1.52233 1.66406 +3.755 330.184 1 1.44136 1.52272 1.66498 +3.765 329.307 1 1.44156 1.52298 1.66563 +3.775 328.435 1 1.44175 1.52325 1.66628 +3.785 327.567 1 1.44194 1.52352 1.66693 +3.795 326.704 1 1.44213 1.52379 1.66759 +3.805 325.845 1 1.44233 1.52406 1.66825 +3.8174 324.787 1 1.44257 1.5244 1.66907 +3.8298 323.735 1 1.44281 1.52474 1.66989 +3.8422 322.691 1 1.44305 1.52508 1.67073 +3.8546 321.653 1 1.4433 1.52543 1.67156 +3.867 320.621 1 1.44355 1.52577 1.6724 +3.88 319.547 1 1.4438 1.52613 1.67329 +3.893 318.48 1 1.44406 1.5265 1.67418 +3.906 317.42 1 1.44433 1.52686 1.67508 +3.919 316.367 1 1.44459 1.52723 1.67598 +3.932 315.321 1 1.44485 1.5276 1.67689 +3.9572 313.313 1 1.44537 1.52832 1.67867 +3.9824 311.33 1 1.44588 1.52905 1.68047 +4.0076 309.373 1 1.44641 1.52978 1.68229 +4.0328 307.439 1 1.44694 1.53053 1.68413 +4.058 305.53 1 1.44747 1.53127 1.686 +4.0664 304.899 1 1.44765 1.53152 1.68662 +4.0748 304.271 1 1.44783 1.53178 1.68725 +4.0832 303.645 1 1.44801 1.53203 1.68789 +4.0916 303.021 1 1.44819 1.53228 1.68852 +4.1 302.4 1 1.44837 1.53254 1.68916 +4.12 300.933 1 1.4488 1.53314 1.69068 +4.14 299.479 1 1.44923 1.53376 1.69222 +4.16 298.039 1 1.44967 1.53437 1.69378 +4.18 296.613 1 1.45011 1.53499 1.69535 +4.2 295.2 1 1.45056 1.53562 1.69693 +4.22 293.801 1 1.451 1.53625 1.69854 +4.24 292.416 1 1.45145 1.53689 1.70015 +4.26 291.043 1 1.45191 1.53753 1.70178 +4.28 289.683 1 1.45236 1.53817 1.70343 +4.3 288.335 1 1.45282 1.53882 1.70509 +4.3255 286.636 1 1.45341 1.53965 1.70724 +4.351 284.956 1 1.45401 1.54049 1.70941 +4.3765 283.295 1 1.45461 1.54134 1.71161 +4.402 281.654 1 1.45522 1.5422 1.71383 +4.4275 280.032 1 1.45583 1.54306 1.71609 + +Rayleigh scattering length / m: +Energy/eV Wavelength/nm Clad2 Clad1 Core +1.9 652.548 521.927 323.618 44.4913 +1.92 645.751 499.91 309.881 42.5461 +1.94 639.094 479.023 296.852 40.7023 +1.96 632.572 459.198 284.487 38.9537 +1.98 626.183 440.371 272.746 37.2944 +2 619.921 422.483 261.591 35.7193 +2.02 613.783 405.478 250.989 34.2232 +2.04 607.766 389.305 240.908 32.8015 +2.06 601.865 373.916 231.316 31.4499 +2.08 596.078 359.265 222.186 30.1644 +2.1 590.401 345.312 213.492 28.9411 +2.12 584.831 332.016 205.209 27.7765 +2.14 579.365 319.342 197.314 26.6674 +2.16 574.001 307.254 189.786 25.6107 +2.18 568.735 295.722 182.605 24.6034 +2.2 563.565 284.714 175.751 23.6428 +2.22 558.487 274.203 169.208 22.7265 +2.24 553.501 264.162 162.959 21.852 +2.26 548.603 254.566 156.988 21.0172 +2.28 543.79 245.393 151.28 20.2198 +2.3 539.062 236.619 145.822 19.458 +2.32 534.415 228.225 140.602 18.7299 +2.34 529.847 220.192 135.606 18.0338 +2.36 525.357 212.5 130.823 17.3679 +2.38 520.942 205.133 126.244 16.7309 +2.4 516.601 198.074 121.857 16.1212 +2.42 512.331 191.309 117.652 15.5375 +2.44 508.132 184.823 113.623 14.9784 +2.46 504.001 178.602 109.758 14.4428 +2.48 499.936 172.634 106.051 13.9296 +2.5 495.937 166.906 102.495 13.4375 +2.52 492.001 161.407 99.0809 12.9657 +2.54 488.127 156.127 95.8033 12.5132 +2.56 484.313 151.055 92.6553 12.0789 +2.58 480.559 146.181 89.6311 11.6622 +2.6 476.862 141.496 86.7249 11.2621 +2.62 473.222 136.992 83.9313 10.8779 +2.64 469.637 132.66 81.2451 10.5088 +2.66 466.106 128.493 78.6616 10.1542 +2.68 462.628 124.483 76.176 9.81346 +2.7 459.201 120.624 73.7841 9.48585 +2.7262 454.788 115.784 70.7854 9.07564 +2.7524 450.459 111.177 67.9316 8.6858 +2.7786 446.211 106.789 65.2145 8.31515 +2.8048 442.043 102.608 62.6263 7.9626 +2.831 437.952 98.6228 60.1599 7.62713 +2.8526 434.636 95.4768 58.2134 7.36273 +2.8742 431.369 92.4507 56.3415 7.1088 +2.8958 428.152 89.5393 54.541 6.86484 +2.9174 424.982 86.7373 52.8086 6.63041 +2.939 421.858 84.04 51.1414 6.40508 +2.9638 418.328 81.0662 49.3037 6.15707 +2.9886 414.857 78.2177 47.544 5.91993 +3.0134 411.443 75.4884 45.8584 5.69313 +3.0382 408.084 72.8724 44.2432 5.47614 +3.063 404.78 70.3641 42.6951 5.26848 +3.0876 401.555 67.9774 41.2224 5.07125 +3.1122 398.381 65.6868 39.8095 4.88233 +3.1368 395.257 63.4879 38.4535 4.7013 +3.1614 392.181 61.3762 37.1517 4.5278 +3.186 389.153 59.3477 35.9016 4.36147 +3.2108 386.147 57.3831 34.6913 4.20069 +3.2356 383.188 55.4955 33.5288 4.04652 +3.2604 380.273 53.6812 32.4118 3.89866 +3.2852 377.402 51.9371 31.3383 3.7568 +3.31 374.575 50.2599 30.3064 3.62068 +3.3378 371.455 48.4556 29.1967 3.47457 +3.3656 368.387 46.7277 28.1344 3.33498 +3.3934 365.369 45.0723 27.117 3.20158 +3.4212 362.4 43.4858 26.1424 3.07405 +3.449 359.479 41.965 25.2086 2.95211 +3.4646 357.86 41.1392 24.7016 2.88603 +3.4802 356.256 40.3325 24.2065 2.82156 +3.4958 354.666 39.5444 23.7229 2.75868 +3.5114 353.091 38.7744 23.2505 2.69733 +3.527 351.529 38.022 22.7891 2.63748 +3.5334 350.892 37.7183 22.6029 2.61335 +3.5398 350.258 37.4175 22.4184 2.58945 +3.5462 349.626 37.1195 22.2357 2.5658 +3.5526 348.996 36.8243 22.0547 2.54238 +3.559 348.368 36.5318 21.8755 2.5192 +3.5686 347.431 36.0983 21.6097 2.48485 +3.5782 346.499 35.6708 21.3477 2.45102 +3.5878 345.572 35.2492 21.0894 2.41769 +3.5974 344.649 34.8335 20.8347 2.38485 +3.607 343.732 34.4235 20.5836 2.3525 +3.6114 343.313 34.2375 20.4697 2.33783 +3.6158 342.896 34.0527 20.3565 2.32326 +3.6202 342.479 33.869 20.244 2.30879 +3.6246 342.063 33.6865 20.1323 2.29442 +3.629 341.648 33.5052 20.0212 2.28014 +3.634 341.178 33.3005 19.8959 2.26404 +3.639 340.71 33.0973 19.7715 2.24806 +3.644 340.242 32.8955 19.648 2.2322 +3.649 339.776 32.6952 19.5254 2.21646 +3.654 339.311 32.4963 19.4036 2.20084 +3.6598 338.773 32.2674 19.2635 2.18288 +3.6656 338.237 32.0404 19.1246 2.16507 +3.6714 337.703 31.8152 18.9868 2.14742 +3.6772 337.17 31.5919 18.8502 2.12992 +3.683 336.639 31.3704 18.7147 2.11258 +3.6974 335.328 30.8284 18.3831 2.07019 +3.7118 334.027 30.2973 18.0583 2.02871 +3.7262 332.736 29.7769 17.7401 1.98812 +3.7406 331.455 29.2669 17.4284 1.94842 +3.755 330.184 28.7671 17.1229 1.90956 +3.765 329.307 28.4259 16.9145 1.88307 +3.775 328.435 28.0894 16.7089 1.85697 +3.785 327.567 27.7575 16.5062 1.83126 +3.795 326.704 27.4303 16.3063 1.80593 +3.805 325.845 27.1075 16.1092 1.78098 +3.8174 324.787 26.7134 15.8686 1.75055 +3.8298 323.735 26.3259 15.6322 1.72068 +3.8422 322.691 25.945 15.3997 1.69135 +3.8546 321.653 25.5706 15.1713 1.66255 +3.867 320.621 25.2023 14.9467 1.63428 +3.88 319.547 24.8229 14.7153 1.60519 +3.893 318.48 24.4502 14.488 1.57665 +3.906 317.42 24.0839 14.2647 1.54864 +3.919 316.367 23.724 14.0454 1.52117 +3.932 315.321 23.3703 13.8299 1.49421 +3.9572 313.313 22.702 13.4228 1.44339 +3.9824 311.33 22.0558 13.0294 1.39439 +4.0076 309.373 21.4308 12.6491 1.34714 +4.0328 307.439 20.8262 12.2814 1.30157 +4.058 305.53 20.2413 11.9257 1.25763 +4.0664 304.899 20.0506 11.8098 1.24333 +4.0748 304.271 19.8619 11.6952 1.2292 +4.0832 303.645 19.6753 11.5818 1.21523 +4.0916 303.021 19.4907 11.4697 1.20144 +4.1 302.4 19.3081 11.3587 1.1878 +4.12 300.933 18.8813 11.0995 1.15599 +4.14 299.479 18.4653 10.847 1.12506 +4.16 298.039 18.0598 10.601 1.095 +4.18 296.613 17.6645 10.3612 1.06577 +4.2 295.2 17.2792 10.1276 1.03735 +4.22 293.801 16.9035 9.89991 1.00971 +4.24 292.416 16.5371 9.67796 0.98283 +4.26 291.043 16.1798 9.46161 0.95669 +4.28 289.683 15.8314 9.25068 0.931265 +4.3 288.335 15.4915 9.04502 0.906534 +4.3255 286.636 15.0702 8.79021 0.875976 +4.351 284.956 14.662 8.54343 0.846472 +4.3765 283.295 14.2663 8.30439 0.817982 +4.402 281.654 13.8828 8.0728 0.790468 +4.4275 280.032 13.511 7.8484 0.763894 diff --git a/SimulationData/parameterFiles/.DS_Store b/SimulationData/parameterFiles/.DS_Store new file mode 100644 index 0000000..b052e30 Binary files /dev/null and b/SimulationData/parameterFiles/.DS_Store differ diff --git a/SimulationData/parameterFiles/TPBD_emission.csv b/SimulationData/parameterFiles/TPBD_emission.csv new file mode 100755 index 0000000..037953f --- /dev/null +++ b/SimulationData/parameterFiles/TPBD_emission.csv @@ -0,0 +1,30 @@ +1.9 0 +1.922 17 +2.046 58 +2.170 141 +2.294 307 +2.418 557 +2.542 831 +2.591 911 +2.641 968 +2.678 990 +2.715 999 +2.765 962 +2.814 891 +2.914 665 +3.038 333 +3.100 187 +3.162 76 +3.224 19 +3.286 0 +3.4 0 +3.5 0 +3.6 0 +3.7 0 +3.8 0 +3.9 0 +4.0 0 +4.1 0 +4.2 0 +4.3 0 +4.4275 0 diff --git a/SimulationData/parameterFiles/TPBD_extinktion_1000ppm.csv b/SimulationData/parameterFiles/TPBD_extinktion_1000ppm.csv new file mode 100755 index 0000000..f1acb12 --- /dev/null +++ b/SimulationData/parameterFiles/TPBD_extinktion_1000ppm.csv @@ -0,0 +1,66 @@ +1.900 1.25E+17 +1.925 2.77E+16 +1.950 6.38E+15 +1.975 1.53E+15 +2.000 3.78E+14 +2.025 9.69E+13 +2.050 2.57E+13 +2.075 7.03E+12 +2.100 1.99E+12 +2.125 5.78E+11 +2.150 1.73E+11 +2.175 5.32E+10 +2.200 1.68E+10 +2.225 5.45E+9 +2.250 1.81E+9 +2.275 6.18E+8 +2.300 2.16E+8 +2.333 5.56E+7 +2.367 1.43E+7 +2.400 3.97E+6 +2.433 1.14E+6 +2.467 3.28E+5 +2.500 1.01E+5 +2.533 3.20E+4 +2.567 1.01E+4 +2.600 3.39E+3 +2.633 1.17E+3 +2.667 4.03E+2 +2.700 1.47E+2 +2.733 5.48E+1 +2.767 2.03E+1 +2.800 7.96E+0 +2.833 3.18E+0 +2.867 1.26E+0 +2.900 5.27E-1 +2.933 2.24E-1 +2.967 9.47E-2 +3.000 4.18E-2 +3.020 2.57E-2 +3.040 1.59E-2 +3.0729 4.60E-3 +3.0934 3.68E-3 +3.1120 2.94E-3 +3.1368 1.84E-3 +3.1616 1.04E-3 +3.1864 6.13E-4 +3.2112 3.89E-4 +3.2360 2.62E-4 +3.2608 1.84E-4 +3.2856 1.32E-4 +3.3166 9.49E-5 +3.3476 7.50E-5 +3.4096 5.62E-5 +3.4716 4.62E-5 +3.5335 4.08E-5 +3.5807 3.95E-5 +3.5955 3.96E-5 +3.6575 4.13E-5 +3.7195 4.42E-5 +3.7815 5.05E-5 +3.9055 7.07E-5 +4.0295 1.10E-4 +4.1535 1.71E-4 +4.2775 2.50E-4 +4.4014 3.09E-4 +4.4275 3.13E-4 diff --git a/SimulationData/parameterFiles/TPBD_extinktion_2000ppm.csv b/SimulationData/parameterFiles/TPBD_extinktion_2000ppm.csv new file mode 100755 index 0000000..6c096d8 --- /dev/null +++ b/SimulationData/parameterFiles/TPBD_extinktion_2000ppm.csv @@ -0,0 +1,66 @@ +1.900 6.25E+16 +1.925 1.38E+16 +1.950 3.19E+15 +1.975 7.63E+14 +2.000 1.89E+14 +2.025 4.85E+13 +2.050 1.28E+13 +2.075 3.52E+12 +2.100 9.93E+11 +2.125 2.89E+11 +2.150 8.64E+10 +2.175 2.66E+10 +2.200 8.41E+9 +2.225 2.73E+9 +2.250 9.07E+8 +2.275 3.09E+8 +2.300 1.08E+8 +2.333 2.78E+7 +2.367 7.15E+6 +2.400 1.99E+6 +2.433 5.72E+5 +2.467 1.64E+5 +2.500 5.04E+4 +2.533 1.60E+4 +2.567 5.05E+3 +2.600 1.70E+3 +2.633 5.87E+2 +2.667 2.02E+2 +2.700 7.35E+1 +2.733 2.74E+1 +2.767 1.02E+1 +2.800 3.98E+0 +2.833 1.59E+0 +2.867 6.32E-1 +2.900 2.63E-1 +2.933 1.12E-1 +2.967 4.73E-2 +3.000 2.09E-2 +3.020 1.28E-2 +3.040 7.95E-3 +3.0729 2.30E-3 +3.0934 1.84E-3 +3.1120 1.47E-3 +3.1368 9.19E-4 +3.1616 5.18E-4 +3.1864 3.06E-4 +3.2112 1.95E-4 +3.2360 1.31E-4 +3.2608 9.19E-5 +3.2856 6.58E-5 +3.3166 4.75E-5 +3.3476 3.75E-5 +3.4096 2.81E-5 +3.4716 2.31E-5 +3.5335 2.04E-5 +3.5807 1.98E-5 +3.5955 1.98E-5 +3.6575 2.06E-5 +3.7195 2.21E-5 +3.7815 2.52E-5 +3.9055 3.54E-5 +4.0295 5.52E-5 +4.1535 8.55E-5 +4.2775 1.25E-4 +4.4014 1.55E-4 +4.4275 1.57E-4 diff --git a/SimulationData/parameterFiles/TPBD_extinktion_500ppm.csv b/SimulationData/parameterFiles/TPBD_extinktion_500ppm.csv new file mode 100755 index 0000000..19365d4 --- /dev/null +++ b/SimulationData/parameterFiles/TPBD_extinktion_500ppm.csv @@ -0,0 +1,66 @@ +1.900 2.50E+17 +1.925 5.54E+16 +1.950 1.28E+16 +1.975 3.05E+15 +2.000 7.56E+14 +2.025 1.94E+14 +2.050 5.14E+13 +2.075 1.41E+13 +2.100 3.97E+12 +2.125 1.16E+12 +2.150 3.46E+11 +2.175 1.06E+11 +2.200 3.36E+10 +2.225 1.09E+10 +2.250 3.63E+9 +2.275 1.24E+9 +2.300 4.31E+8 +2.333 1.11E+8 +2.367 2.86E+7 +2.400 7.95E+6 +2.433 2.29E+6 +2.467 6.56E+5 +2.500 2.02E+5 +2.533 6.39E+4 +2.567 2.02E+4 +2.600 6.79E+3 +2.633 2.35E+3 +2.667 8.07E+2 +2.700 2.94E+2 +2.733 1.10E+2 +2.767 4.07E+1 +2.800 1.59E+1 +2.833 6.36E+0 +2.867 2.53E+0 +2.900 1.05E+0 +2.933 4.48E-1 +2.967 1.89E-1 +3.000 8.36E-2 +3.020 5.14E-2 +3.040 3.18E-2 +3.0729 9.19E-3 +3.0934 7.36E-3 +3.1120 5.88E-3 +3.1368 3.68E-3 +3.1616 2.07E-3 +3.1864 1.23E-3 +3.2112 7.78E-4 +3.2360 5.24E-4 +3.2608 3.68E-4 +3.2856 2.63E-4 +3.3166 1.90E-4 +3.3476 1.50E-4 +3.4096 1.12E-4 +3.4716 9.25E-5 +3.5335 8.16E-5 +3.5807 7.91E-5 +3.5955 7.92E-5 +3.6575 8.26E-5 +3.7195 8.85E-5 +3.7815 1.01E-4 +3.9055 1.41E-4 +4.0295 2.21E-4 +4.1535 3.42E-4 +4.2775 5.00E-4 +4.4014 6.18E-4 +4.4275 6.26E-4 diff --git a/SimulationData/parameterFiles/irradData.dat b/SimulationData/parameterFiles/irradData.dat new file mode 100755 index 0000000..da9347b --- /dev/null +++ b/SimulationData/parameterFiles/irradData.dat @@ -0,0 +1,101 @@ +1 +0 0.00 +1 0.02 +2 0.02 +3 0.02 +4 0.02 +5 0.03 +6 0.03 +7 0.03 +8 0.04 +9 0.04 +10 0.04 +11 0.05 +12 0.05 +13 0.07 +14 0.06 +15 0.06 +16 0.08 +17 0.07 +18 0.08 +19 0.09 +20 0.09 +21 0.11 +22 0.15 +23 0.20 +24 0.34 +25 0 +26 0 +27 0 +28 0 +29 0 +30 0 +31 0 +32 0 +33 0 +34 0 +35 0 +36 0 +37 0 +38 0.05 +39 0.1 +40 0.15 +41 0.2 +42 0.25 +43 0.35 +44 0.4 +45 0.7 +46 1.2 +47 2 +48 5 +49 20 +50 0 +51 0 +52 0 +53 0 +54 0 +55 0 +56 0 +57 0 +58 0 +59 0 +60 0 +61 0 +62 0 +63 0.05 +64 0.1 +65 0.15 +66 0.2 +67 0.25 +68 0.35 +69 0.4 +70 0.7 +71 1.2 +72 2 +73 5 +74 20 +75 0 +76 0 +77 0 +78 0 +79 0 +80 0 +81 0 +82 0 +83 0 +84 0 +85 0 +86 0 +87 0 +88 0.05 +89 0.1 +90 0.15 +91 0.2 +92 0.25 +93 0.35 +94 0.4 +95 0.7 +96 1.2 +97 2 +98 5 +99 20 diff --git a/SimulationData/parameterFiles/irradData_CERN_Christian.dat b/SimulationData/parameterFiles/irradData_CERN_Christian.dat new file mode 100644 index 0000000..8d3c26e --- /dev/null +++ b/SimulationData/parameterFiles/irradData_CERN_Christian.dat @@ -0,0 +1,31 @@ +30 +0 22 +1 22 +2 22 +3 22 +4 22 +5 22 +6 22 +7 3 +8 3 +9 3 +10 3 +11 3 +12 3 +13 3 +14 0. +15 0. +16 0. +17 0. +18 0. +19 0. +20 0. +21 0. +22 0. +23 0. +24 0. +25 0. +26 0. +27 0 +28 0. +29 0. diff --git a/SimulationData/parameterFiles/irradData_KIT_Blake.dat b/SimulationData/parameterFiles/irradData_KIT_Blake.dat new file mode 100755 index 0000000..1d86803 --- /dev/null +++ b/SimulationData/parameterFiles/irradData_KIT_Blake.dat @@ -0,0 +1,101 @@ +100 +0 0. +1 0. +2 0. +3 0. +4 36 +5 36 +6 36 +7 36 +8 36 +9 36 +10 36 +11 36 +12 36 +13 36 +14 36 +15 36 +16 0. +17 0. +18 0. +19 0. +20 0. +21 43 +22 43 +23 43 +24 43 +25 43 +26 43 +27 43 +28 43 +29 43 +30 43 +31 43 +32 43 +33 0. +34 0. +35 0. +36 0. +37 0. +38 0. +39 0. +40 10 +41 10 +42 10 +43 10 +44 10 +45 10 +46 10 +47 10 +48 10 +49 10 +50 10 +51 10 +52 0. +53 0. +54 0. +55 0. +56 0. +57 0. +58 0. +59 0. +60 0. +61 8.8 +62 8.8 +63 8.8 +64 8.8 +65 8.8 +66 8.8 +67 8.8 +68 8.8 +69 8.8 +70 8.8 +71 8.8 +72 8.8 +73 0. +74 0. +75 0. +76 0. +77 0. +78 0. +79 0. +80 0. +81 0. +82 0. +83 0. +84 0. +85 0. +86 0. +87 0. +88 0. +89 0. +90 0. +91 0. +92 0. +93 0. +94 0. +95 0. +96 0. +97 0. +98 0. +99 0. diff --git a/SimulationData/parameterFiles/irradData_Neus_x_0.dat b/SimulationData/parameterFiles/irradData_Neus_x_0.dat new file mode 100755 index 0000000..54bafef --- /dev/null +++ b/SimulationData/parameterFiles/irradData_Neus_x_0.dat @@ -0,0 +1,101 @@ +25 +0 0.03 +1 0.04 +2 0.04 +3 0.05 +4 0.05 +5 0.06 +6 0.07 +7 0.09 +8 0.09 +9 0.12 +10 0.10 +11 0.12 +12 0.12 +13 0.15 +14 0.19 +15 0.22 +16 0.25 +17 0.31 +18 0.39 +19 0.53 +20 0.80 +21 1.26 +22 2.19 +23 5.75 +24 10.73 +25 0 +26 0 +27 0 +28 0 +29 0 +30 0 +31 0 +32 0 +33 0 +34 0 +35 0 +36 0 +37 0 +38 0.05 +39 0.1 +40 0.15 +41 0.2 +42 0.25 +43 0.35 +44 0.4 +45 0.7 +46 1.2 +47 2 +48 5 +49 20 +50 0 +51 0 +52 0 +53 0 +54 0 +55 0 +56 0 +57 0 +58 0 +59 0 +60 0 +61 0 +62 0 +63 0.05 +64 0.1 +65 0.15 +66 0.2 +67 0.25 +68 0.35 +69 0.4 +70 0.7 +71 1.2 +72 2 +73 5 +74 20 +75 0 +76 0 +77 0 +78 0 +79 0 +80 0 +81 0 +82 0 +83 0 +84 0 +85 0 +86 0 +87 0 +88 0.05 +89 0.1 +90 0.15 +91 0.2 +92 0.25 +93 0.35 +94 0.4 +95 0.7 +96 1.2 +97 2 +98 5 +99 20 diff --git a/SimulationData/parameterFiles/irradData_Neus_x_100.dat b/SimulationData/parameterFiles/irradData_Neus_x_100.dat new file mode 100755 index 0000000..21fcd46 --- /dev/null +++ b/SimulationData/parameterFiles/irradData_Neus_x_100.dat @@ -0,0 +1,26 @@ +25 +0 0.03 +1 0.03 +2 0.03 +3 0.04 +4 0.05 +5 0.04 +6 0.06 +7 0.07 +8 0.07 +9 0.07 +10 0.08 +11 0.11 +12 0.11 +13 0.13 +14 0.14 +15 0.17 +16 0.21 +17 0.23 +18 0.27 +19 0.39 +20 0.43 +21 0.56 +22 0.71 +23 1.01 +24 1.46 diff --git a/SimulationData/parameterFiles/irradData_Neus_x_200.dat b/SimulationData/parameterFiles/irradData_Neus_x_200.dat new file mode 100755 index 0000000..c462a9d --- /dev/null +++ b/SimulationData/parameterFiles/irradData_Neus_x_200.dat @@ -0,0 +1,26 @@ +25 +0 0.02 +1 0.03 +2 0.03 +3 0.03 +4 0.04 +5 0.04 +6 0.04 +7 0.05 +8 0.05 +9 0.05 +10 0.05 +11 0.07 +12 0.08 +13 0.10 +14 0.11 +15 0.13 +16 0.13 +17 0.16 +18 0.17 +19 0.19 +20 0.23 +21 0.31 +22 0.38 +23 0.53 +24 0.75 diff --git a/SimulationData/parameterFiles/irradData_Neus_x_300.dat b/SimulationData/parameterFiles/irradData_Neus_x_300.dat new file mode 100755 index 0000000..166eb21 --- /dev/null +++ b/SimulationData/parameterFiles/irradData_Neus_x_300.dat @@ -0,0 +1,101 @@ +25 +0 0.01 +1 0.02 +2 0.02 +3 0.02 +4 0.02 +5 0.03 +6 0.03 +7 0.03 +8 0.04 +9 0.04 +10 0.04 +11 0.05 +12 0.05 +13 0.07 +14 0.06 +15 0.06 +16 0.08 +17 0.07 +18 0.08 +19 0.09 +20 0.09 +21 0.11 +22 0.15 +23 0.20 +24 0.34 +25 0 +26 0 +27 0 +28 0 +29 0 +30 0 +31 0 +32 0 +33 0 +34 0 +35 0 +36 0 +37 0 +38 0.05 +39 0.1 +40 0.15 +41 0.2 +42 0.25 +43 0.35 +44 0.4 +45 0.7 +46 1.2 +47 2 +48 5 +49 20 +50 0 +51 0 +52 0 +53 0 +54 0 +55 0 +56 0 +57 0 +58 0 +59 0 +60 0 +61 0 +62 0 +63 0.05 +64 0.1 +65 0.15 +66 0.2 +67 0.25 +68 0.35 +69 0.4 +70 0.7 +71 1.2 +72 2 +73 5 +74 20 +75 0 +76 0 +77 0 +78 0 +79 0 +80 0 +81 0 +82 0 +83 0 +84 0 +85 0 +86 0 +87 0 +88 0.05 +89 0.1 +90 0.15 +91 0.2 +92 0.25 +93 0.35 +94 0.4 +95 0.7 +96 1.2 +97 2 +98 5 +99 20 diff --git a/SimulationData/parameterFiles/irradData_insitu_Robert_2-1.dat b/SimulationData/parameterFiles/irradData_insitu_Robert_2-1.dat new file mode 100644 index 0000000..16c2912 --- /dev/null +++ b/SimulationData/parameterFiles/irradData_insitu_Robert_2-1.dat @@ -0,0 +1,9 @@ +8 +0 0.177 +1 0.257 +2 0.257 +3 0.302 +4 0.302 +5 0.285 +6 0.285 +7 0.245 diff --git a/SimulationData/parameterFiles/irradData_insitu_Robert_2-2.dat b/SimulationData/parameterFiles/irradData_insitu_Robert_2-2.dat new file mode 100644 index 0000000..d367bd6 --- /dev/null +++ b/SimulationData/parameterFiles/irradData_insitu_Robert_2-2.dat @@ -0,0 +1,9 @@ +8 +0 0.245 +1 0.285 +2 0.285 +3 0.302 +4 0.302 +5 0.257 +6 0.257 +7 0.177 diff --git a/SimulationData/parameterFiles/irradData_insitu_Robert_3-1.dat b/SimulationData/parameterFiles/irradData_insitu_Robert_3-1.dat new file mode 100644 index 0000000..97b87fb --- /dev/null +++ b/SimulationData/parameterFiles/irradData_insitu_Robert_3-1.dat @@ -0,0 +1,9 @@ +8 +0 0.289 +1 0.662 +2 0.662 +3 1.440 +4 1.440 +5 1.265 +6 1.265 +7 0.506 diff --git a/SimulationData/parameterFiles/irradData_insitu_Robert_3-2.dat b/SimulationData/parameterFiles/irradData_insitu_Robert_3-2.dat new file mode 100644 index 0000000..84e104f --- /dev/null +++ b/SimulationData/parameterFiles/irradData_insitu_Robert_3-2.dat @@ -0,0 +1,9 @@ +8 +0 0.506 +1 1.265 +2 1.265 +3 1.440 +4 1.440 +5 0.662 +6 0.662 +7 0.289 diff --git a/SimulationData/parameterFiles/irradData_insitu_Robert_4-1.dat b/SimulationData/parameterFiles/irradData_insitu_Robert_4-1.dat new file mode 100644 index 0000000..bb7fd9e --- /dev/null +++ b/SimulationData/parameterFiles/irradData_insitu_Robert_4-1.dat @@ -0,0 +1,9 @@ +8 +0 0.925 +1 0.379 +2 0.379 +3 0.153 +4 0.153 +5 0.133 +6 0.133 +7 0.006 diff --git a/SimulationData/parameterFiles/irradData_insitu_Robert_4-2.dat b/SimulationData/parameterFiles/irradData_insitu_Robert_4-2.dat new file mode 100644 index 0000000..b4f99da --- /dev/null +++ b/SimulationData/parameterFiles/irradData_insitu_Robert_4-2.dat @@ -0,0 +1,9 @@ +8 +0 0.006 +1 0.133 +2 0.133 +3 0.153 +4 0.153 +5 0.379 +6 0.379 +7 0.925 diff --git a/SimulationData/parameterFiles/noRad.dat b/SimulationData/parameterFiles/noRad.dat new file mode 100644 index 0000000..aec97f1 --- /dev/null +++ b/SimulationData/parameterFiles/noRad.dat @@ -0,0 +1,2 @@ +1 +0 0.00 diff --git a/SimulationData/parameterFiles/outFile_32557.root.parameters b/SimulationData/parameterFiles/outFile_32557.root.parameters new file mode 100644 index 0000000..8f20a70 --- /dev/null +++ b/SimulationData/parameterFiles/outFile_32557.root.parameters @@ -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 diff --git a/SimulationData/parameterFiles/p-Terphenyl_emission.csv b/SimulationData/parameterFiles/p-Terphenyl_emission.csv new file mode 100755 index 0000000..b604e86 --- /dev/null +++ b/SimulationData/parameterFiles/p-Terphenyl_emission.csv @@ -0,0 +1,30 @@ +1.9 0 +2.0 0 +2.1 0 +2.2 0 +2.3 0 +2.4 0 +2.5 0 +2.6 0 +2.7 0 +2.831 0 +2.939 2 +3.063 5 +3.186 13 +3.310 29 +3.449 58 +3.527 69 +3.559 71 +3.607 87 +3.629 95 +3.654 100 +3.683 95 +3.755 71 +3.805 79 +3.867 53 +3.932 16 +4.058 0 +4.1 0 +4.2 0 +4.3 0 +4.4275 0 diff --git a/SimulationData/parameterFiles/parameters.dat b/SimulationData/parameterFiles/parameters.dat new file mode 100644 index 0000000..10b9da2 --- /dev/null +++ b/SimulationData/parameterFiles/parameters.dat @@ -0,0 +1,39 @@ +3428 +3801 +.25 +0.5 +0.5 +30 +1 +30 +0 +0 +1 +0 +0 +1 +parameterFiles/p-Terphenyl_emission.csv +4 +parameterFiles/TPBD_extinktion_1000ppm.csv +parameterFiles/TPBD_emission.csv +8 +0.0 +1.2 +1.2 +0.8 +0.150 +2.8 +1.0 +sqrt( 1. + 1.44355*x*x / (x*x - 20216.) ) +sqrt( 1. + 1.18188*x*x / (x*x - 11309.) ) +sqrt( 1. + 0.98323*x*x / (x*x - 9541.) ) +7.9e-10*exp(6.715*1239.842/x) + 3.143e-5*TMath::Voigt(1.0/x-1.403e-3,0.816e-5,1.389e-5) + 0.466e-5*TMath::Voigt(1.0/x-1.644e-3,0.975e-5,1.389e-5) + 0.191*0.466e-5*TMath::Voigt(1.0/x-1.872e-3,0.975e-5,1.389e-5) + 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) + 4.65e-2 +119./100.*104./105.*8./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +143./168.*104./105.*7./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +(( ((x<393)*27.3574*TMath::Gaus(x,250.228,53.4958)+(x>=393)*(x<498)*exp(10.4945-0.0272251*x)+(x>=498)*exp(6.47233-0.0191205*x))*(x<530)*1.1 + (x>=530)*0.02826 )*1.63/1.63+0.*0.05)*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +parameterFiles/noRad.dat +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.44355*x*x / (x*x - 20216.),2)*pow(3 + 1.44355*x*x / (x*x - 20216.),2)*1.3806488e-23*295.*5.8e-10*4.010 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.18188*x*x / (x*x - 11309.),2)*pow(3 + 1.18188*x*x / (x*x - 11309.),2)*1.3806488e-23*295.*5.2e-10*1.1 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(0.98323*x*x / (x*x - 9541.),2)*pow(3 + 0.98323*x*x / (x*x - 9541.),2)*1.3806488e-23*295.*5.2e-10*1.1 diff --git a/SimulationData/parameterFiles/parameters.dat~ b/SimulationData/parameterFiles/parameters.dat~ new file mode 100644 index 0000000..51f4247 --- /dev/null +++ b/SimulationData/parameterFiles/parameters.dat~ @@ -0,0 +1,39 @@ +3428 +3801 +2.5 +0.125 +0.125 +30 +1 +30 +0 +0 +1 +0 +0 +1 +parameterFiles/p-Terphenyl_emission.csv +4 +parameterFiles/TPBD_extinktion_1000ppm.csv +parameterFiles/TPBD_emission.csv +8 +0.0 +1.2 +1.2 +0.8 +0.150 +2.8 +1.0 +sqrt( 1. + 1.44355*x*x / (x*x - 20216.) ) +sqrt( 1. + 1.18188*x*x / (x*x - 11309.) ) +sqrt( 1. + 0.98323*x*x / (x*x - 9541.) ) +7.9e-10*exp(6.715*1239.842/x) + 3.143e-5*TMath::Voigt(1.0/x-1.403e-3,0.816e-5,1.389e-5) + 0.466e-5*TMath::Voigt(1.0/x-1.644e-3,0.975e-5,1.389e-5) + 0.191*0.466e-5*TMath::Voigt(1.0/x-1.872e-3,0.975e-5,1.389e-5) + 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) + 4.65e-2 +119./100.*104./105.*8./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +143./168.*104./105.*7./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +(( ((x<393)*27.3574*TMath::Gaus(x,250.228,53.4958)+(x>=393)*(x<498)*exp(10.4945-0.0272251*x)+(x>=498)*exp(6.47233-0.0191205*x))*(x<530)*1.1 + (x>=530)*0.02826 )*1.63/1.63+0.*0.05)*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +parameterFiles/noRad.dat +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.44355*x*x / (x*x - 20216.),2)*pow(3 + 1.44355*x*x / (x*x - 20216.),2)*1.3806488e-23*295.*5.8e-10*4.010 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.18188*x*x / (x*x - 11309.),2)*pow(3 + 1.18188*x*x / (x*x - 11309.),2)*1.3806488e-23*295.*5.2e-10*1.1 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(0.98323*x*x / (x*x - 9541.),2)*pow(3 + 0.98323*x*x / (x*x - 9541.),2)*1.3806488e-23*295.*5.2e-10*1.1 diff --git a/SimulationData/parameterFiles/parameters.scheme b/SimulationData/parameterFiles/parameters.scheme new file mode 100755 index 0000000..0873c75 --- /dev/null +++ b/SimulationData/parameterFiles/parameters.scheme @@ -0,0 +1,32 @@ +Length of fibre: [m] +Half radius z: [mm] +Half radius y: [mm] +Probability to lose photons at fibre surface: (0-1) +Mirror placement at fibre end: (0/1) +Mirror reflectivity: (0-1) +Detector material vacuum/polystyrene (0/1): (0/1) +Used emission spectrum: "path..." +Number of interpolated points per emission spectrum interval +Used WLS absortpion length spectrum: "path..." +Used WLS emission spectrum: "path..." +Scintillation yield: [1/keV] +Resolution scale: (width of gaussian to produce photon number) +Fast decay time: [ns] +Slow decay time: [ns] +Yield ratio: (fast component / total scintillation yield) +Birks constant: [mm/MeV] +WLS decay time: [ns] +Formula to calculate refractive indices in vacuum: "formula..." , x [nm] +Formula to calculate refractive indices in core: see vacuum +Formula to calculate refractive indices in inner cladding: see vacuum +Formula to calculate refractive indices in outer cladding: see vacuum +Formula to calculate absorption [1/m] in core: see refractive indices vacuum +Formula to calculate absorption [1/m] in inner cladding: see core +Formula to calculate absorption [1/m] in outer cladding: see core +Formula to calculate absorption due to irradiation [1/m] in core: "formula..." ,x [nm] and y [kGy] +Formula to calculate absorption due to irradiation [1/m] in inner cladding: see core +Formula to calculate absorption due to irradiation [1/m] in outer cladding: see core +Used sections file: "path..." +Rayleigh scattering strength (inverse scattering length) [1/m] for core. +Rayleigh scattering strength [1/m] for inner cladding. +Rayleigh scattering strength [1/m] for outer core. diff --git a/SimulationData/parameterFiles/parameters_2014-03-29.dat b/SimulationData/parameterFiles/parameters_2014-03-29.dat new file mode 100755 index 0000000..994147e --- /dev/null +++ b/SimulationData/parameterFiles/parameters_2014-03-29.dat @@ -0,0 +1,32 @@ +3.5 +0.125 +0.125 +1 +0 +0 +0 +parameterFiles/emissionSpectrum_New_Corrected_20131114.dat +4 +parameterFiles/absorption_pathLengthStudy.dat +parameterFiles/emissionSpectrum_pathLengthStudy.dat +8 +1.0 +2.8 +14.0 +0.8 +0.126 +2.8 +(1.5318-1.*0.5318) +sqrt( 2.610025 - 6.143673e-2*pow(x*1e-3,2) - 1.312267e-1*pow(x*1e-3,-2) + 6.865432e-2*pow(x*1e-3,-4) - 1.295968e-2*pow(x*1e-3,-6) + 9.055861e-4*pow(x*1e-3,-8) ) +sqrt( 2.399964 - 8.308636e-2*pow(x*1e-3,2) - 1.919569e-1*pow(x*1e-3,-2) + 8.720608e-2*pow(x*1e-3,-4) - 1.666411e-2*pow(x*1e-3,-6) + 1.169519e-3*pow(x*1e-3,-8) ) +1.40838 + 3.36117e-3/(x*x*1e-6)+1.82315e-5/(x*x*x*x*1e-12) +((((exp(-7.84e1+(3.39e1*(1e3/x)))+(1.21e-2*(1e12/(x*x*x*x))))+(2.86e-3*(6.087*((3./5.)*TMath::Gaus(1e3/x,1.58,2.83e-2,1)))))+(2.86e-3*(6.087*TMath::Gaus(1e3/x,1.66,2.83e-2,1))))+(2.86e-3*((3./5.)*TMath::Gaus(1e3/x,1.79,2.83e-2,1))))+(2.86e-3*TMath::Gaus(1e3/x,1.89,2.83e-2,1)) +1.21e-2*1e12/(x*x*x*x)+2.86e-3*6.087*3./5.*TMath::Gaus(1e3/x,1.58,2.83e-2,1)+2.86e-3*6.087*TMath::Gaus(1e3/x,1.66,2.83e-2,1)+2.86e-3*3./5.*TMath::Gaus(1e3/x,1.79,2.83e-2,1)+2.86e-3*TMath::Gaus(1e3/x,1.89,2.83e-2,1) +1.21e-2*1e12/(x*x*x*x)+2.86e-3*6.087*3./5.*TMath::Gaus(1e3/x,1.58,2.83e-2,1)+2.86e-3*6.087*TMath::Gaus(1e3/x,1.66,2.83e-2,1)+2.86e-3*3./5.*TMath::Gaus(1e3/x,1.79,2.83e-2,1)+2.86e-3*TMath::Gaus(1e3/x,1.89,2.83e-2,1) +0.*x*y +0.*x*y +0.*x*y +parameterFiles/irradData.dat +0.3 +0.3 +0.3 diff --git a/SimulationData/parameterFiles/parameters_2014-05-20.dat b/SimulationData/parameterFiles/parameters_2014-05-20.dat new file mode 100755 index 0000000..b677b65 --- /dev/null +++ b/SimulationData/parameterFiles/parameters_2014-05-20.dat @@ -0,0 +1,33 @@ +3.2 +0.125 +0.125 +1 +1 +0 +1 +parameterFiles/p-Terphenyl_emission.csv +4 +parameterFiles/TPBD_extinktion_1000ppm.csv +parameterFiles/TPBD_emission.csv +8 +0.0 +1.2 +1.2 +0.8 +0.126 +2.8 +1.0 +sqrt( 1. + 1.44355*x*x / (x*x - 20216.) ) +sqrt( 1. + 1.18188*x*x / (x*x - 11309.) ) +sqrt( 1. + 0.98323*x*x / (x*x - 9541.) ) +7.9e-10*exp(6.715*1239.842/x) + 3.143e-5*TMath::Voigt(1.0/x-1.403e-3,0.816e-5,1.389e-5) + 0.466e-5*TMath::Voigt(1.0/x-1.644e-3,0.975e-5,1.389e-5) + 0.191*0.466e-5*TMath::Voigt(1.0/x-1.872e-3,0.975e-5,1.389e-5) + 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) +119./100.*104./105.*8./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) +143./168.*104./105.*7./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) +0.*x*y +0.*x*y +0.*x*y +parameterFiles/irradData.dat +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.44355*x*x / (x*x - 20216.),2)*pow(3 + 1.44355*x*x / (x*x - 20216.),2)*1.3806488e-23*295.*5.8e-10*4.010 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.18188*x*x / (x*x - 11309.),2)*pow(3 + 1.18188*x*x / (x*x - 11309.),2)*1.3806488e-23*295.*5.2e-10*1.1 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(0.98323*x*x / (x*x - 9541.),2)*pow(3 + 0.98323*x*x / (x*x - 9541.),2)*1.3806488e-23*295.*5.2e-10*1.1 + diff --git a/SimulationData/parameterFiles/parameters_CERN_Christian.dat b/SimulationData/parameterFiles/parameters_CERN_Christian.dat new file mode 100755 index 0000000..d056e43 --- /dev/null +++ b/SimulationData/parameterFiles/parameters_CERN_Christian.dat @@ -0,0 +1,33 @@ +3.0 +0.125 +0.125 +1 +0 +0 +1 +parameterFiles/p-Terphenyl_emission.csv +4 +parameterFiles/TPBD_extinktion_1000ppm.csv +parameterFiles/TPBD_emission.csv +8 +0.0 +1.2 +1.2 +0.8 +0.126 +2.8 +1.0 +sqrt( 1. + 1.44355*x*x / (x*x - 20216.) ) +sqrt( 1. + 1.18188*x*x / (x*x - 11309.) ) +sqrt( 1. + 0.98323*x*x / (x*x - 9541.) ) +7.9e-10*exp(6.715*1239.842/x) + 3.143e-5*TMath::Voigt(1.0/x-1.403e-3,0.816e-5,1.389e-5) + 0.466e-5*TMath::Voigt(1.0/x-1.644e-3,0.975e-5,1.389e-5) + 0.191*0.466e-5*TMath::Voigt(1.0/x-1.872e-3,0.975e-5,1.389e-5) + 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) + 4.65e-2 +119./100.*104./105.*8./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +143./168.*104./105.*7./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +(( ((x<393)*27.3574*TMath::Gaus(x,250.228,53.4958)+(x>=393)*(x<498)*exp(10.4945-0.0272251*x)+(x>=498)*exp(6.47233-0.0191205*x))*(x<530)*1.1 + (x>=530)*0.02826 )*1.63/1.63+0.*0.05)*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +parameterFiles/irradData_CERN_Christian.dat +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.44355*x*x / (x*x - 20216.),2)*pow(3 + 1.44355*x*x / (x*x - 20216.),2)*1.3806488e-23*295.*5.8e-10*4.010 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.18188*x*x / (x*x - 11309.),2)*pow(3 + 1.18188*x*x / (x*x - 11309.),2)*1.3806488e-23*295.*5.2e-10*1.1 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(0.98323*x*x / (x*x - 9541.),2)*pow(3 + 0.98323*x*x / (x*x - 9541.),2)*1.3806488e-23*295.*5.2e-10*1.1 + diff --git a/SimulationData/parameterFiles/parameters_KIT_Blake.dat b/SimulationData/parameterFiles/parameters_KIT_Blake.dat new file mode 100755 index 0000000..4a075a5 --- /dev/null +++ b/SimulationData/parameterFiles/parameters_KIT_Blake.dat @@ -0,0 +1,32 @@ +2.0 +0.125 +0.125 +1 +0 +0 +1 +parameterFiles/p-Terphenyl_emission.csv +4 +parameterFiles/TPBD_extinktion_1000ppm.csv +parameterFiles/TPBD_emission.csv +8 +0.0 +1.2 +1.2 +0.8 +0.126 +2.8 +1.0 +sqrt( 1. + 1.44355*x*x / (x*x - 20216.) ) +sqrt( 1. + 1.18188*x*x / (x*x - 11309.) ) +sqrt( 1. + 0.98323*x*x / (x*x - 9541.) ) +7.9e-10*exp(6.715*1239.842/x) + 3.143e-5*TMath::Voigt(1.0/x-1.403e-3,0.816e-5,1.389e-5) + 0.466e-5*TMath::Voigt(1.0/x-1.644e-3,0.975e-5,1.389e-5) + 0.191*0.466e-5*TMath::Voigt(1.0/x-1.872e-3,0.975e-5,1.389e-5) + 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) + 4.65e-2 +119./100.*104./105.*8./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +143./168.*104./105.*7./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +(( ((x<393)*27.3574*TMath::Gaus(x,250.228,53.4958)+(x>=393)*(x<498)*exp(10.4945-0.0272251*x)+(x>=498)*exp(6.47233-0.0191205*x))*(x<530)*1.1 + (x>=530)*0.02826 )*1.63/1.63+0.*0.05)*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +parameterFiles/irradData_KIT_Blake.dat +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.44355*x*x / (x*x - 20216.),2)*pow(3 + 1.44355*x*x / (x*x - 20216.),2)*1.3806488e-23*295.*5.8e-10*4.010 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.18188*x*x / (x*x - 11309.),2)*pow(3 + 1.18188*x*x / (x*x - 11309.),2)*1.3806488e-23*295.*5.2e-10*1.1 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(0.98323*x*x / (x*x - 9541.),2)*pow(3 + 0.98323*x*x / (x*x - 9541.),2)*1.3806488e-23*295.*5.2e-10*1.1 diff --git a/SimulationData/parameterFiles/parameters_backup.dat b/SimulationData/parameterFiles/parameters_backup.dat new file mode 100644 index 0000000..0e8d112 --- /dev/null +++ b/SimulationData/parameterFiles/parameters_backup.dat @@ -0,0 +1,39 @@ +3428 +3801 +0.1 +0.125 +0.125 +30 +1 +30 +0 +0 +1 +0 +0 +1 +parameterFiles/p-Terphenyl_emission.csv +4 +parameterFiles/TPBD_extinktion_1000ppm.csv +parameterFiles/TPBD_emission.csv +8 +0.0 +1.2 +1.2 +0.8 +0.150 +2.8 +1.0 +sqrt( 1. + 1.44355*x*x / (x*x - 20216.) ) +sqrt( 1. + 1.18188*x*x / (x*x - 11309.) ) +sqrt( 1. + 0.98323*x*x / (x*x - 9541.) ) +7.9e-10*exp(6.715*1239.842/x) + 3.143e-5*TMath::Voigt(1.0/x-1.403e-3,0.816e-5,1.389e-5) + 0.466e-5*TMath::Voigt(1.0/x-1.644e-3,0.975e-5,1.389e-5) + 0.191*0.466e-5*TMath::Voigt(1.0/x-1.872e-3,0.975e-5,1.389e-5) + 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) + 4.65e-2 +119./100.*104./105.*8./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +143./168.*104./105.*7./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +(( ((x<393)*27.3574*TMath::Gaus(x,250.228,53.4958)+(x>=393)*(x<498)*exp(10.4945-0.0272251*x)+(x>=498)*exp(6.47233-0.0191205*x))*(x<530)*1.1 + (x>=530)*0.02826 )*1.63/1.63+0.*0.05)*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +parameterFiles/noRad.dat +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.44355*x*x / (x*x - 20216.),2)*pow(3 + 1.44355*x*x / (x*x - 20216.),2)*1.3806488e-23*295.*5.8e-10*4.010 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.18188*x*x / (x*x - 11309.),2)*pow(3 + 1.18188*x*x / (x*x - 11309.),2)*1.3806488e-23*295.*5.2e-10*1.1 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(0.98323*x*x / (x*x - 9541.),2)*pow(3 + 0.98323*x*x / (x*x - 9541.),2)*1.3806488e-23*295.*5.2e-10*1.1 diff --git a/SimulationData/parameterFiles/parameters_insitu_Robert.dat b/SimulationData/parameterFiles/parameters_insitu_Robert.dat new file mode 100644 index 0000000..52d8c62 --- /dev/null +++ b/SimulationData/parameterFiles/parameters_insitu_Robert.dat @@ -0,0 +1,32 @@ +1.1 +0.125 +0.125 +1 +0 +0 +1 +parameterFiles/p-Terphenyl_emission.csv +4 +parameterFiles/TPBD_extinktion_1000ppm.csv +parameterFiles/TPBD_emission.csv +8 +0.0 +1.2 +1.2 +0.8 +0.126 +2.8 +1.0 +sqrt( 1. + 1.44355*x*x / (x*x - 20216.) ) +sqrt( 1. + 1.18188*x*x / (x*x - 11309.) ) +sqrt( 1. + 0.98323*x*x / (x*x - 9541.) ) +7.9e-10*exp(6.715*1239.842/x) + 3.143e-5*TMath::Voigt(1.0/x-1.403e-3,0.816e-5,1.389e-5) + 0.466e-5*TMath::Voigt(1.0/x-1.644e-3,0.975e-5,1.389e-5) + 0.191*0.466e-5*TMath::Voigt(1.0/x-1.872e-3,0.975e-5,1.389e-5) + 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) + 4.65e-2 +119./100.*104./105.*8./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +143./168.*104./105.*7./3.* ( 1.628e-5*TMath::Voigt(1.0/x-1.321e-3,1.473e-5,1.389e-5) + 0.102e-5*TMath::Voigt(1.0/x-1.548e-3,0.986e-5,1.389e-5) + 0.191*0.102e-5*TMath::Voigt(1.0/x-1.762e-3,0.986e-5,1.389e-5) ) + 4.65e-2 +(( ((x<393)*27.3574*TMath::Gaus(x,250.228,53.4958)+(x>=393)*(x<498)*exp(10.4945-0.0272251*x)+(x>=498)*exp(6.47233-0.0191205*x))*(x<530)*1.1 + (x>=530)*0.02826 )*1.63/1.63+0.*0.05)*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +( exp(10.6422-0.0303786*x)*0. + (1.34305*TMath::Gaus(x,422.81,27.474)+exp(15.5921-0.0406339*x)+exp(4.4398 -0.0117956*x))*1. )*y +parameterFiles/irradData_insitu_Robert_2-1.dat +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.44355*x*x / (x*x - 20216.),2)*pow(3 + 1.44355*x*x / (x*x - 20216.),2)*1.3806488e-23*295.*5.8e-10*4.010 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(1.18188*x*x / (x*x - 11309.),2)*pow(3 + 1.18188*x*x / (x*x - 11309.),2)*1.3806488e-23*295.*5.2e-10*1.1 +8./27.*TMath::Pi()*TMath::Pi()*TMath::Pi()/x/x/x/x*1e36*pow(0.98323*x*x / (x*x - 9541.),2)*pow(3 + 0.98323*x*x / (x*x - 9541.),2)*1.3806488e-23*295.*5.2e-10*1.1 diff --git a/SimulationData/parameterFiles/pmp_450_emission.csv b/SimulationData/parameterFiles/pmp_450_emission.csv new file mode 100755 index 0000000..ce99efb --- /dev/null +++ b/SimulationData/parameterFiles/pmp_450_emission.csv @@ -0,0 +1,38 @@ +2.138 0 +2.175 11 +2.214 20 +2.254 59 +2.296 95 +2.339 128 +2.384 176 +2.431 254 +2.480 325 +2.530 453 +2.583 600 +2.638 719 +2.695 881 +2.755 1001 +2.818 1058 +2.883 1010 +2.952 861 +3.024 580 +3.100 281 +3.179 89 +3.263 28 +3.351 0 +3.40 0 +3.45 0 +3.50 0 +3.55 0 +3.60 0 +3.65 0 +3.70 0 +3.75 0 +3.80 0 +3.85 0 +3.90 0 +3.95 0 +4.0 0 +4.1 0 +4.2 0 +4.3 0 diff --git a/SimulationData/parameterFiles/pmp_450_extinktion.csv b/SimulationData/parameterFiles/pmp_450_extinktion.csv new file mode 100755 index 0000000..bef1b69 --- /dev/null +++ b/SimulationData/parameterFiles/pmp_450_extinktion.csv @@ -0,0 +1,30 @@ +2.0 2e1 +2.567 1.64E+1 +2.583 1.46E+1 +2.610 1.15E+1 +2.638 9.54E+0 +2.666 7.59E+0 +2.695 6.10E+0 +2.725 4.79E+0 +2.755 3.63E+0 +2.786 2.51E+0 +2.818 1.55E+0 +2.850 8.04E-1 +2.883 3.31E-1 +2.917 1.33E-1 +2.952 5.49E-2 +2.966 4.07E-2 +3.100 1.74E-3 +3.179 5.79E-4 +3.263 2.90E-4 +3.351 1.58E-4 +3.444 8.69E-5 +3.542 5.11E-5 +3.647 3.47E-5 +3.757 2.52E-5 +3.875 2.00E-5 +3.999 1.74E-5 +4.065 1.70E-5 +4.133 1.70E-5 +4.203 1.87E-5 +4.246 2.14E-5 diff --git a/SimulationData/parameterFiles/randomEngineSeed.txt b/SimulationData/parameterFiles/randomEngineSeed.txt new file mode 100644 index 0000000..c227083 --- /dev/null +++ b/SimulationData/parameterFiles/randomEngineSeed.txt @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/SimulationData/proto_run.mac b/SimulationData/proto_run.mac new file mode 100644 index 0000000..cff6e40 --- /dev/null +++ b/SimulationData/proto_run.mac @@ -0,0 +1,35 @@ +# G4GeneralParticleSource +# electron source + +# particle and energy definition +/gps/particle mu- +/gps/ene/mono 4 GeV +#/gps/ene/type User +#/gps/hist/type energy +#/gps/ene/type Arb +#/gps/hist/type arb +#/gps/hist/point 0.5 0.1392 +#/gps/hist/point 0.7 0.1720 +#/gps/hist/point 0.9 0.1653 +#/gps/hist/point 1.1 0.1435 +#/gps/hist/point 1.3 0.1174 +#/gps/hist/point 1.5 0.0890 +#/gps/hist/point 1.7 0.0652 +#/gps/hist/point 1.9 0.0476 +#/gps/hist/point 2.1 0.0349 +#/gps/hist/point 2.3 0.0261 +#/gps/hist/inter Exp + +# source positioning +/gps/pos/type Plane +/gps/pos/shape Circle +/gps/pos/radius 2.5 mm +/gps/pos/rot2 0 0 1 # sets the x-y plane of source in the global x-z plane. +/gps/pos/centre 0. 1.875 0. mm + +# angular distribution +/gps/ang/type iso +/gps/ang/mintheta 0.0 deg +/gps/ang/maxtheta 90.0 deg + +/run/beamOn 10 diff --git a/SimulationData/randomEngineSeed.txt b/SimulationData/randomEngineSeed.txt new file mode 100644 index 0000000..c800667 --- /dev/null +++ b/SimulationData/randomEngineSeed.txt @@ -0,0 +1 @@ +3428 \ No newline at end of file diff --git a/SimulationData/randomN.txt b/SimulationData/randomN.txt new file mode 100644 index 0000000..d104a70 --- /dev/null +++ b/SimulationData/randomN.txt @@ -0,0 +1 @@ +0.116001 \ No newline at end of file diff --git a/SimulationData/threadNumber.txt b/SimulationData/threadNumber.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/SimulationData/threadNumber.txt @@ -0,0 +1 @@ +1 diff --git a/SimulationData/trackL.C b/SimulationData/trackL.C new file mode 100644 index 0000000..5cd413a --- /dev/null +++ b/SimulationData/trackL.C @@ -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.4,1.4); + h1->GetYaxis()->SetRangeUser(0,5500); + + TFile *_file1 = TFile::Open("Sept142015/outFile_6layer_0.275mm.root"); + TH1F *h2 = new TH1F("h2","6 layer 0.275mm",200,0.4,1.4); + h2->GetYaxis()->SetRangeUser(0,5500); + + TFile *_file2 = TFile::Open("Sept142015/outFile_7layer_0.300mm.root"); + TH1F *h3 = new TH1F("h3","7 layer 0.300mm",200,0.4,1.4); + h3->GetYaxis()->SetRangeUser(0,5500); + + TFile *_file3 = TFile::Open("Sept142015/outFile_7layer_0.325mm.root"); + TH1F *h4 = new TH1F("h4","7 layer 0.325mm",200,0.4,1.4); + h4->GetYaxis()->SetRangeUser(0,5500); + + TFile *_file4 = TFile::Open("Sept142015/outFile_8layer_0.350mm.root"); + TH1F *h5 = new TH1F("h5","8 layer 0.350mm",200,0.4,1.4); + h5->GetYaxis()->SetRangeUser(0,5500); + + TFile *_file5 = TFile::Open("Sept142015/outFile_8layer_0.375mm.root"); + TH1F *h6 = new TH1F("h6","8 layer 0.375mm",200,0.4,1.4); + h6->GetYaxis()->SetRangeUser(0,5500); + + + + _file0->cd(); + EnergyTrack->Project("h1","trackL"); + _file1->cd(); + EnergyTrack->Project("h2","trackL"); + _file2->cd(); + EnergyTrack->Project("h3","trackL"); + _file3->cd(); + EnergyTrack->Project("h4","trackL"); + _file4->cd(); + EnergyTrack->Project("h5","trackL"); + _file5->cd(); + EnergyTrack->Project("h6","trackL"); + + 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(); + + +} diff --git a/SimulationData/vis.mac b/SimulationData/vis.mac new file mode 100644 index 0000000..12e59df --- /dev/null +++ b/SimulationData/vis.mac @@ -0,0 +1,109 @@ +/control/verbose 1 +/control/saveHistory +/event/verbose 0 +/run/verbose 2 +/vis/open OGL 600x600-0+0 +/vis/viewer/set/autoRefresh false +/vis/verbose errors + + +/vis/drawVolume +/vis/scene/add/trajectories smooth +/tracking/storeTrajectory 2 + + +# To get nice view +# Make the "World" box invisible + +/vis/geometry/set/visibility World 0 false +/vis/geometry/set/visibility Detector 0 true +/vis/geometry/set/visibility EpoxyBox 0 false +/vis/geometry/set/visibility AbsBox 0 false +/vis/geometry/set/visibility EpoxyStrip 0 true +/vis/geometry/set/visibility Pixel 0 true +/vis/geometry/set/visibility Trigger 0 false +/vis/geometry/set/colour all 0 0 0 0 + +/vis/geometry/set/colour Cladding2Section 1 0. 0.5 0.5 +/vis/geometry/set/colour Cladding1Section 0 0.5 0.5 0.5 +/vis/geometry/set/colour CoreSection 0 0.5 0.0 0.5 +/vis/geometry/set/colour Pixel 0 0.0 0.5 0.0 1.0 +/vis/geometry/set/colour EpoxyStrip 0 .90 .90 1.0 .3 +/vis/geometry/set/colour EpoxyBox 0 0.9 0.9 0.9 1. +#/vis/geometry/set/colour EpoxyBoxsub 0 0.25 0.25 0.25 0.25 +/vis/geometry/set/colour Detector 0 0.0 0.1 0.1 .0 + +# Specify view angle: +/vis/viewer/set/viewpointVector -1 0 0 +/vis/viewer/set/lightsVector -1 0 0 + +# Specify style (surface, wireframe, auxiliary edges,...) +#/vis/viewer/set/style wireframe +#/vis/viewer/set/auxiliaryEdge true +/vis/viewer/set/style surface +#edge is slow +/vis/viewer/set/lineSegmentsPerCircle 100 +#/vis/viewer/set/edge false +#/vis/viewer/set/hiddenMarker true +/vis/viewer/set/targetPoint 0.0 0.0 .250 m +#/vis/viewer/set/targetPoint 0.0 0.0 .0 m + +#slight angle view from mirror end +#/vis/viewer/set/viewpointThetaPhi 120 50 +#/vis/viewer/set/viewpointThetaPhi 180 90 +/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/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 +/vis/scene/notifyHandlers scene-0 +/vis/modeling/trajectories/drawByCharge-0/set 1 blue +/vis/modeling/trajectories/drawByCharge-0/set -1 red +#/vis/modeling/trajectories/drawByCharge-0/set 0 cyan + +#/vis/modeling/trajectories/drawByCharge-0/verbose true +/vis/scene/notifyHandlers scene-0 + +# List available models +/vis/modeling/trajectories/list +# select drawByCharge-0 to be current +/vis/modeling/trajectories/select drawByCharge-0 +/vis/scene/endOfEventAction accumulate + + +/vis/viewer/set/autoRefresh true +/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 # 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 1 + + +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +#/vis/ogl/set/printSize 1200 600 +#/vis/ogl/set/printFilename barrel +#/vis/ogl/set/printMode pixmap +#/vis/ogl/printEPS \ No newline at end of file diff --git a/SimulationData/visB1.mac~ b/SimulationData/visB1.mac~ new file mode 100644 index 0000000..dd5f243 --- /dev/null +++ b/SimulationData/visB1.mac~ @@ -0,0 +1,201 @@ +# Macro file for the visualization setting in the initialization phase +# of the B1 example when running in interactive mode +# + +# Use these open statements to open selected visualization +# +# Use this open statement to create an OpenGL view: +/vis/open OGL 600x600-0+0 +# +# Use this open statement to create an OpenInventor view: +#/vis/open OI +# +# Use this open statement to create a .prim file suitable for +# viewing in DAWN: +#/vis/open DAWNFILE +# +# Use this open statement to create a .heprep file suitable for +# viewing in HepRApp: +#/vis/open HepRepFile +# +# Use this open statement to create a .wrl file suitable for +# viewing in a VRML viewer: +#/vis/open VRML2FILE +# +# Disable auto refresh and quieten vis messages whilst scene and +# trajectories are established: +/vis/viewer/set/autoRefresh false +/vis/verbose errors +# +# Draw geometry: +/vis/drawVolume +# +# Specify view angle: +/vis/viewer/set/viewpointVector -1 0 0 +/vis/viewer/set/lightsVector -1 0 0 +# +# Specify style (surface, wireframe, auxiliary edges,...) +#/vis/viewer/set/style wireframe +#/vis/viewer/set/auxiliaryEdge true +/vis/viewer/set/lineSegmentsPerCircle 100 +# +# Draw smooth trajectories at end of event, showing trajectory points +# as markers 2 pixels wide: +#/vis/scene/add/trajectories smooth +/vis/scene/add/trajectories rich + +#/vis/modeling/trajectories/create/drawByCharge +#/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts false +#/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 +# (if too many tracks cause core dump => /tracking/storeTrajectory 0) +# Create another drawByCharge model with an explicit name of testChargeModel +# Configure drawByCharge-0 model +#/vis/modeling/trajectories/drawByCharge-0/set 1 red +#/vis/modeling/trajectories/drawByCharge-0/set -1 red +#/vis/modeling/trajectories/drawByCharge-0/set 0 white + +# List available models +#/vis/modeling/trajectories/list +# select drawByCharge-0 to be current +#/vis/modeling/trajectories/select drawByCharge-0 + +# +# Draw hits at end of event: +/vis/scene/add/hits +# +# To draw only gammas: +#/vis/filtering/trajectories/create/particleFilter +#/vis/filtering/trajectories/particleFilter-0/add gamma +# +# To invert the above, drawing all particles except gammas, +# keep the above two lines but also add: +#/vis/filtering/trajectories/particleFilter-0/invert true +# +# Many other options are available with /vis/modeling and /vis/filtering. +# For example, to select colour by particle ID: +/vis/modeling/trajectories/create/drawByParticleID +#/vis/modeling/trajectories/drawByParticleID-0/default/setDrawStepPts true +# To select or override default colours (note: e+ is blue by default): +#/vis/modeling/trajectories/drawByParticleID-0/set e+ blue + +/vis/filtering/trajectories/create/attributeFilter +/vis/filtering/trajectories/attributeFilter-0/setAttribute ID +/vis/filtering/trajectories/attributeFilter-0/addValue 1 +/vis/filtering/trajectories/attributeFilter-0/invert true + +/vis/modeling/trajectories/create/drawByAttribute +/vis/modeling/trajectories/drawByAttribute-0/verbose false +/vis/modeling/trajectories/drawByAttribute-0/setAttribute CPN +#/vis/modeling/trajectories/drawByAttribute-0/addValue brem_key eBrem +#/vis/modeling/trajectories/drawByAttribute-0/addValue annihil_key annihil +#/vis/modeling/trajectories/drawByAttribute-0/addValue decay_key Decay +#/vis/modeling/trajectories/drawByAttribute-0/addValue muIon_key muIoni +#/vis/modeling/trajectories/drawByAttribute-0/addValue eIon_key eIoni +#/vis/modeling/trajectories/drawByAttribute-0/addValue Rayl_key Rayl +#/vis/modeling/trajectories/drawByAttribute-0/addValue compt_key compt +#/vis/modeling/trajectories/drawByAttribute-0/addValue conv_key conv +#/vis/modeling/trajectories/drawByAttribute-0/addValue phot_key phot +/vis/modeling/trajectories/drawByAttribute-0/addValue Scint_key Scintillation +/vis/modeling/trajectories/drawByAttribute-0/addValue Ceren_key Cerenkov +/vis/modeling/trajectories/drawByAttribute-0/addValue OpWLS_key OpWLS + +/vis/modeling/trajectories/drawByAttribute-0/Scint_key/setLineColour green +/vis/modeling/trajectories/drawByAttribute-0/Ceren_key/setLineColour magenta +/vis/modeling/trajectories/drawByAttribute-0/OpWLS_key/setLineColour red + +/vis/modeling/trajectories/list +/vis/modeling/trajectories/select drawByAttribute-0 + + +# +# To superimpose all of the events from a given run: +/vis/scene/endOfEventAction accumulate +# +# Decorations +# Name +#/vis/set/textColour green +#/vis/set/textLayout right +#/vis/scene/add/text2D 0.9 -.9 24 ! ! exampleB1 +# or, if your system does not support right-adjustment +#/vis/scene/add/text2D 0 -.9 24 ! ! exampleB1 +/vis/set/textLayout # Revert to normal (left adjusted) layout +/vis/set/textColour # Revert to default text colour (blue) +# +# Axes, scale, etc. +#/vis/scene/add/scale # Simple scale line +#/vis/scene/add/axes # Simple axes: x=red, y=green, z=blue. + +# +# To get nice view +# Make the "World" box invisible + +/vis/geometry/set/visibility World 0 false +/vis/geometry/set/visibility Detector 0 false +/vis/geometry/set/visibility EpoxyBox 0 false +/vis/geometry/set/visibility AbsBox 0 false +/vis/geometry/set/visibility EpoxyStrip 0 false +/vis/geometry/set/visibility Pixel 0 false +/vis/geometry/set/visibility Trigger 0 false +/vis/geometry/set/colour all 0 0 0 0 + +/vis/geometry/set/colour Cladding2Section 1 0. 0.5 0.5 +/vis/geometry/set/colour Cladding1Section 0 0.5 0.5 0.5 +/vis/geometry/set/colour CoreSection 0 0.5 0.0 0.5 +/vis/geometry/set/colour Pixel 0 0.0 0.5 0.0 1.0 +/vis/geometry/set/colour EpoxyStrip 0 1.0 1.0 1.0 1.0 +/vis/geometry/set/colour EpoxyBox 0 0.9 0.9 0.9 1. +#/vis/geometry/set/colour EpoxyBoxsub 0 0.25 0.25 0.25 0.25 +/vis/geometry/set/colour Detector 0 0.0 0.7 0.2 .5 + +# "Envelope" is transparent blue to represent water +#/vis/geometry/set/colour Envelope 0 0 0 1 .3 +/vis/viewer/set/style surface +#edge is slow +#/vis/viewer/set/edge false +#/vis/viewer/set/hiddenMarker true +/vis/viewer/set/targetPoint 0.0 0.0 .0 m +/vis/viewer/set/viewpointThetaPhi 120 150 +/vis/viewer/zoomTo 10 +# +/vis/scene/add/hits +/tracking/storeTrajectory 1 + +# Re-establish auto refreshing and verbosity: +/vis/viewer/set/autoRefresh true +/vis/verbose warnings +# +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +#/vis/ogl/set/printSize 1200 600 +#/vis/ogl/set/printFilename barrel +#/vis/ogl/set/printMode pixmap +#/vis/ogl/printEPS + +/control/verbose 0 +/tracking/verbose 0 +/event/verbose 0 +/gps/verbose 0 +/gps/particle mu- +/gps/ene/mono 4 GeV +# source positioning +/gps/pos/type Plane +#/gps/pos/shape Circle +#/gps/pos/radius 2.5 mm +/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 # sets the x-y plane of source in the global x-z plane. +/gps/pos/centre 0. 50.0 50. mm + +# angular distribution +/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 + + +# For file-based drivers, use this to create an empty detector view: +#/vis/viewer/flush +#/run/beamOn 10 \ No newline at end of file diff --git a/SimulationData/visblake.mac~ b/SimulationData/visblake.mac~ new file mode 100644 index 0000000..05ed43b --- /dev/null +++ b/SimulationData/visblake.mac~ @@ -0,0 +1,187 @@ +ERROR: Can not open a macro file . Set macro path with "/control/macroPath" if needed. + +-------- WWWW ------- G4Exception-START -------- WWWW ------- +*** G4Exception : UIMAN0123 + issued by : G4UImanager::ApplyCommand +Command aborted (400) +Error code : 400 +*** This is just a warning message. *** +-------- WWWW -------- G4Exception-END --------- WWWW ------- + +/control/verbose 1 +/event/verbose 0 +/run/verbose 2 +/geometry/textInput/verbose 0 +command not found: "/geometry/textInput/verbose 0" +/vis/open OGL 600x600-0+0 +/vis/viewer/set/autoRefresh false +/vis/verbose errors +Visualization verbosity changed to errors (2) +/vis/drawVolume +/vis/scene/add/trajectories smooth +/tracking/storeTrajectory 2 +Attributes available for modeling and filtering with + "/vis/modeling/trajectories/create/drawByAttribute" and + "/vis/filtering/trajectories/create/attributeFilter" commands: +G4TrajectoriesModel: + Event ID (EventID): G4int + Run ID (RunID): G4int +G4SmoothTrajectory: + Charge (Ch): unit: e+ (G4double) + Track ID (ID): G4int + Initial kinetic energy (IKE): G4BestUnit (G4double) + Initial momentum magnitude (IMag): G4BestUnit (G4double) + Initial momentum (IMom): G4BestUnit (G4ThreeVector) + No. of points (NTP): G4int + PDG Encoding (PDG): G4int + Parent ID (PID): G4int + Particle Name (PN): G4String +G4SmoothTrajectoryPoint: + Auxiliary Point Position (Aux): G4BestUnit (G4ThreeVector) + Step Position (Pos): G4BestUnit (G4ThreeVector) +/vis/scene/notifyHandlers +/vis/modeling/trajectories/create/drawByCharge +/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true +/vis/scene/notifyHandlers scene-0 +/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 +/vis/scene/notifyHandlers scene-0 +/vis/scene/endOfEventAction accumulate +/vis/viewer/set/autoRefresh true +/vis/viewer/refresh +/vis/verbose warnings +Visualization verbosity changed to warnings (3) +/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 # sets the x-y plane of source in the global x-z plane. +/gps/pos/centre 0. 50.0 50. 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 + +Region -- -- appears in world volume + This region is in the mass world. + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] + Materials : G4_AIR Epoxy OuterCladdingMaterial InnerCladdingMaterial ScintCoreMaterial G4_Al Abs_plastic Glue + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + +Region -- -- is not associated to any world. + Root logical volume(s) : + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] + Materials : + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + +========= Table of registered couples ============================ + +Index : 0 used in the geometry : Yes + Material : G4_AIR + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes + Material : Epoxy + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 4.3714 keV e- 436.298 keV e+ 424.726 keV proton 100 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes + Material : OuterCladdingMaterial + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 3.29643 keV e- 419.056 keV e+ 405.209 keV proton 100 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 3 used in the geometry : Yes + Material : InnerCladdingMaterial + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.78665 keV e- 389.196 keV e+ 376.336 keV proton 100 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 4 used in the geometry : Yes + Material : ScintCoreMaterial + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.4362 keV e- 361.464 keV e+ 351.877 keV proton 100 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 5 used in the geometry : Yes + Material : G4_Al + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 6.90363 keV e- 598.345 keV e+ 570.85 keV proton 100 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 6 used in the geometry : Yes + Material : Abs_plastic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.45262 keV e- 368.825 keV e+ 356.639 keV proton 100 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 7 used in the geometry : Yes + Material : Glue + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm + Energy thresholds : gamma 2.6231 keV e- 384 keV e+ 371.312 keV proton 100 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +================================================================== + +Start closing geometry. +G4GeometryManager::ReportVoxelStats -- Voxel Statistics + + Total memory consumed for geometry optimisation: 1378 kByte + Total CPU time elapsed for geometry optimisation: 0.21 seconds + + Voxelisation: top CPU users: + Percent Total CPU System CPU Memory Volume + ------- ---------- ---------- -------- ---------- + 90.48 0.19 0.11 680k EpoxyBox + 9.52 0.02 0.01 699k Detector + + Voxelisation: top memory users: + Percent Memory Heads Nodes Pointers Total CPU Volume + ------- -------- ------ ------ -------- ---------- ---------- + 50.67 698k 356 1926 74656 0.02 Detector + 49.33 680k 3542 5519 22048 0.19 EpoxyBox +/vis/scene/notifyHandlers scene-0 +### Run 0 starts. +### Run 0 start. +Analysis Instance Address: 0x5630066c2f90 +# Event 0 start. + +-------- WWWW ------- G4Exception-START -------- WWWW ------- +*** G4Exception : Warning + issued by : G4Step::GetDeltaMomentum() +This method is obsolete and will be removed soon +*** This is just a warning message. *** +-------- WWWW -------- G4Exception-END --------- WWWW ------- + +Number of optical photons produced in this event : 3055 + + Process OpWLS generated 1387 photons + Process Cerenkov generated 62 photons + Process Scintillation generated 1606 photons + + Run terminated. +Run Summary + Number of events processed : 1 + User=12.430000s Real=45.907914s Sys=25.150000s [Cpu=81.9%] +number of event = 1 User=12.430000s Real=45.909559s Sys=25.150000s [Cpu=81.9%] +Data written to file outFile_1.root +Data file closed: outFile_1.root +1 event has been kept for refreshing and/or reviewing. + "/vis/reviewKeptEvents" to review them one by one. + "/vis/enable", then "/vis/viewer/flush" or "/vis/viewer/rebuild" to see them accumulated. \ No newline at end of file diff --git a/installation_guide_of_SciFiMatG4-v2_for_Ubuntu.pdf b/installation_guide_of_SciFiMatG4-v2_for_Ubuntu.pdf new file mode 100644 index 0000000..4d00ea3 Binary files /dev/null and b/installation_guide_of_SciFiMatG4-v2_for_Ubuntu.pdf differ diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..067738d --- /dev/null +++ b/setup.sh @@ -0,0 +1,22 @@ +#source /work/leverington/software/geant4.10.07.p01-install/share/Geant4-10.7.1/geant4make/geant4make.sh +#source /work/leverington/software/root-install-cxx17/bin/thisroot.sh +echo 'G4INSTALL='$G4INSTALL +echo 'ROOTSYS='$ROOTSYS +export GEANT4_DIR=$G4INSTALL/lib +export G4DATA=/home/leverington/software/geant4.10.07.p01-install/share/Geant4-10.7.1/data +export G4LEDATA=${G4DATA}/G4EMLOW7.13 +export G4LEVELGAMMADATA=${G4DATA}/PhotonEvaporation5.7 +export G4NEUTRONHPDATA=${G4DATA}/G4NDL4.6 +export G4RADIOACTIVEDATA=${G4DATA}/RadioactiveDecay5.6 +export G4ABLADATA=${G4DATA}/G4ABLA3.1 +export G4REALSURFACEDATA=${G4DATA}/RealSurface2.2 +export G4PIIDATA=${G4DATA}/G4PII1.3 +export G4SAIDXSDATA=${G4DATA}/G4SAIDDATA2.0 +export CLHEP_DIR=/home/leverington/software/geant4.10.07.p01/source/externals/clhep +export BOOST_ROOT=/usr/include/boost/ +export CXX=/usr/bin/g++ +export CC=/usr/bin/gcc +#export ROOTSYS=$ROOTSYS + +printenv +