32 Commits

Author SHA1 Message Date
9075f52eca Runnumber corret for provided command line paths 2025-02-13 10:47:01 +01:00
479942cb95 Updated documentation. 2024-02-06 21:51:13 +01:00
3f0bec5f8b More tweeking. 2024-02-06 21:05:03 +01:00
670aa60bd9 More tweeking. 2024-02-06 21:04:01 +01:00
1e452e161c Updated instructions. 2024-02-06 19:09:11 +01:00
4f8f291728 More details. 2024-02-06 11:22:41 +01:00
c7ef08d7fa More details for rhel with root 6.30 2024-02-06 09:52:06 +00:00
ff2a5599d8 Added instruction for rhel8 2024-02-06 09:34:33 +00:00
31689d60f4 Fix type 2024-02-06 10:23:52 +01:00
1ce7d91c23 Added files for compilation on rhel8, use scl enable gcc-toolset-13 'make -j8' 2024-02-06 10:19:20 +01:00
a2b2db8e36 Makefile compatible with c++17. 2023-12-14 17:24:12 +01:00
ddf9006b15 Add requirement for minimum gcc version. 2023-06-20 15:41:03 +02:00
1886092feb Readme change 2023-02-12 11:11:05 +01:00
a9ce8a47b1 Update the README file. 2023-02-12 10:56:42 +01:00
41e82f44cf Merge branch 'master' of https://git.psi.ch/nemu/musrsim 2023-02-07 16:18:40 +01:00
6ea856c591 Fixed VIS issue, G4UI_USE and G4VIS_USE retired in 4.10.06 2023-02-07 16:17:46 +01:00
b566fcb73c Ignore build folder and LaTex compilation files. 2023-02-06 13:44:23 +01:00
e45a7729f3 Added gitignore template from github 2023-02-06 13:41:58 +01:00
ce373f2a71 Remove SiPixel run directory from git repository 2023-02-06 13:31:32 +01:00
5399b0d6a6 Fixed some bugs with the code and included better handeling for Si Pixel detectors. 2023-02-02 09:01:37 +01:00
91f145b2fb Correct typo. 2023-02-02 09:00:52 +01:00
7968554278 Added missing figures for documentation. 2023-02-02 08:58:35 +01:00
ec7abeeab1 Added some relevant particle IDs to the documentation. Updated documentation to compile with modern LaTex. 2023-02-02 08:56:58 +01:00
023d7dc701 Improved sim speed at high energies by stopping muons from wiggling in moderator wires 2023-01-13 15:53:53 +01:00
3dc1b9bbfe Additional minor changes to make musrSim comaptible with Geant4 v11.0.3 2023-01-13 15:51:33 +01:00
c4960c039d Added SiPixel templates and root macros 2022-11-21 14:22:18 +01:00
9bae289cb3 Update README.md 2022-11-04 17:18:11 +01:00
7db3d1cfcb Update README.md 2022-11-04 17:15:32 +01:00
296b604658 Merge branch 'salman-master-patch-83333' into 'master'
Update README.md

See merge request nemu/musrsim!1
2022-11-04 15:59:17 +00:00
e75a329c0a Update README.md 2022-11-04 15:58:48 +00:00
9bf9d5c4e1 Add readme 2022-11-03 14:32:33 +01:00
5757e0dbaa Minor changes to make musrSim comaptible with Geant4 v11.0.3 2022-11-03 14:19:01 +01:00
29 changed files with 550 additions and 22716 deletions

39
.gitignore vendored Normal file
View File

@ -0,0 +1,39 @@
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
# Build Folder
build/
# Latex compilation
*.aux
*.log

View File

@ -3,9 +3,17 @@
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(musrSim)
#set(CMAKE_CXX_STANDARD 17)
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
#set(CMAKE_CXX_EXTENSIONS OFF)
#----------------------------------------------------------------------------
# gcc minimum version 10.0 required
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "10.0")
message(FATAL_ERROR "Minimum required version of GCC is 10.0")
endif()
endif()
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
#----------------------------------------------------------------------------
# KAMIL CHANGES:

100
CMakeLists_rhel8.txt Normal file
View File

@ -0,0 +1,100 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(musrSim)
#----------------------------------------------------------------------------
# gcc minimum version 10.0 required
#if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "12.0")
# message(FATAL_ERROR "Minimum required version of GCC is 10.0")
# endif()
#endif()
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
#----------------------------------------------------------------------------
# KAMIL CHANGES:
#include_directories ("/home/download/Root_5.24_source/root/include")
# Load some basic macros which are needed later on
include(FindROOT.cmake)
set(INCLUDE_DIRECTORIES ${ROOT_INCLUDE_DIR})
include_directories( ${INCLUDE_DIRECTORIES})
set(LINK_DIRECTORIES${ROOT_LIBRARY_DIR})
link_directories( ${LINK_DIRECTORIES})
#----------------------------------------------------------------------------
# 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)
#----------------------------------------------------------------------------
# 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(musrSim musrSim.cc ${sources} ${headers})
##FIND_PACKAGE( ROOT )
#SET(ROOT_CONFIG_EXECUTABLE /home/download/Root_5.24_source/root/bin/root-config)
## ask root-config for the library varaibles
#EXEC_PROGRAM( ${ROOT_CONFIG_EXECUTABLE}
# ARGS "--noldflags --noauxlibs --libs"
# OUTPUT_VARIABLE root_flags )
##SET(ROOT_LIBRARIES ${root_flags})
#EchoString("Kamil ${root_flags} Kamil")
#target_link_libraries(musrSim ${Geant4_LIBRARIES} ${root_flags})
target_link_libraries(musrSim ${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
run/101.mac
run/102.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(musrSim DEPENDS musrSim)
#----------------------------------------------------------------------------
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
#
install(TARGETS musrSim DESTINATION bin)

266
FindROOT_6.30.cmake Normal file
View File

@ -0,0 +1,266 @@
# - 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_INCLUDE_DIRS PATH to the include directories (not cached)
# ROOT_LIBRARIES Most common libraries
# ROOT_<name>_LIBRARY Full path to the library <name>
# ROOT_LIBRARY_DIR PATH to the library directory
# ROOT_DEFINITIONS Compiler definitions and flags
# ROOT_LINK_FLAGS Linker flags
#
# The modern CMake 3 imported targets are also created:
# ROOT::Libraries (Most common libraries)
# ROOT::<name> (The library with name)
#
# Updated by K. Smith (ksmith37@nd.edu) to properly handle
# dependencies in ROOT_GENERATE_DICTIONARY
# Updated by H. Schreiner (hschrein@cern.ch) to support CMake 3 syntax
find_program(ROOT_CONFIG_EXECUTABLE root-config
PATHS $ENV{ROOTSYS}/bin)
if(ROOT_CONFIG_EXECUTABLE)
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)
set(ROOT_INCLUDE_DIRS ${ROOT_INCLUDE_DIR})
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --libdir
OUTPUT_VARIABLE ROOT_LIBRARY_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(ROOT_LIBRARY_DIRS ${ROOT_LIBRARY_DIR})
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --cflags
OUTPUT_VARIABLE ROOT_DEFINITIONS
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX REPLACE "(^|[ ]*)-I[^ ]*" "" ROOT_DEFINITIONS ${ROOT_DEFINITIONS})
set(ROOT_DEF_LIST ${ROOT_DEFINITIONS})
separate_arguments(ROOT_DEF_LIST)
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --ldflags
OUTPUT_VARIABLE ROOT_LINK_FLAGS
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(ROOT_LINK_LIST ${ROOT_LINK_FLAGS})
separate_arguments(ROOT_LINK_LIST)
# Needed because ROOT on Mac does not use Mac conventions
set(CMAKE_SHARED_LIBRARY_SUFFIX .so)
file(GLOB ROOT_LIBFILELIST
LIST_DIRECTORIES false
RELATIVE "${ROOT_LIBRARY_DIR}"
"${ROOT_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}")
if(NOT ROOT_LIBFILELIST)
message(FATAL_ERROR "ROOT libraries not found at ${ROOT_LIBRARY_DIR}")
endif()
set(ROOT_ALLLIBS "")
foreach(_file ${ROOT_LIBFILELIST})
string(REGEX REPLACE "^${CMAKE_SHARED_LIBRARY_PREFIX}" "" _newer ${_file})
string(REGEX REPLACE "${CMAKE_SHARED_LIBRARY_SUFFIX}$" "" _newest ${_newer})
list(APPEND ROOT_ALLLIBS ${_newest})
endforeach()
set(ROOT_CORELIBS Core RIO Net Hist Graf Graf3d Gpad Tree Rint Postscript Matrix Physics MathCore Thread MultiProc)
add_library(ROOT::Libraries INTERFACE IMPORTED)
set(ROOT_LIBRARIES)
foreach(_cpt ${ROOT_ALLLIBS})
find_library(ROOT_${_cpt}_LIBRARY ${_cpt} HINTS ${ROOT_LIBRARY_DIR})
if(ROOT_${_cpt}_LIBRARY)
mark_as_advanced(ROOT_${_cpt}_LIBRARY)
add_library(ROOT::${_cpt} SHARED IMPORTED)
set_target_properties(ROOT::${_cpt} PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${ROOT_INCLUDE_DIRS}"
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
IMPORTED_LOCATION "${ROOT_${_cpt}_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "$<$<BUILD_INTERFACE:$<COMPILE_LANGUAGE:CXX>>:${ROOT_DEF_LIST}>"
INTERFACE_LINK_LIBRARIES "${ROOT_LINK_LIST}")
endif()
endforeach()
set(targetlist)
foreach(_cpt ${ROOT_CORELIBS} ${ROOT_FIND_COMPONENTS})
if(ROOT_${_cpt}_LIBRARY)
list(APPEND ROOT_LIBRARIES "${ROOT_${_cpt}_LIBRARY}")
list(REMOVE_ITEM ROOT_FIND_COMPONENTS ${_cpt})
list(APPEND targetlist ROOT::${_cpt})
endif()
endforeach()
set_target_properties(ROOT::Libraries PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${ROOT_INCLUDE_DIRS}")
set_target_properties(ROOT::Libraries PROPERTIES
INTERFACE_LINK_LIBRARIES "${targetlist}")
unset(targetlist)
list(REMOVE_DUPLICATES ROOT_LIBRARIES)
execute_process(
COMMAND ${ROOT_CONFIG_EXECUTABLE} --features
OUTPUT_VARIABLE _root_options
OUTPUT_STRIP_TRAILING_WHITESPACE)
foreach(_opt ${_root_options})
set(ROOT_${_opt}_FOUND TRUE)
endforeach()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ROOT DEFAULT_MSG ROOT_CONFIG_EXECUTABLE
ROOTSYS ROOT_VERSION ROOT_INCLUDE_DIR ROOT_LIBRARIES ROOT_LIBRARY_DIR)
mark_as_advanced(ROOT_CONFIG_EXECUTABLE)
include(CMakeParseArguments)
find_program(ROOTCINT_EXECUTABLE rootcint PATHS $ENV{ROOTSYS}/bin)
find_program(GENREFLEX_EXECUTABLE genreflex PATHS $ENV{ROOTSYS}/bin)
find_package(GCCXML)
if(EXISTS "$ENV{ROOTSYS}/cmake/modules/RootNewMacros.cmake")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} $ENV{ROOTSYS}/cmake/modules)
include(RootNewMacros)
elseif(EXISTS "${ROOTSYS}/cmake/modules/RootNewMacros.cmake")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ROOTSYS}/cmake/modules)
include(RootNewMacros)
else()
#----------------------------------------------------------------------------
# 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 include directories------------------
get_directory_property(incdirs INCLUDE_DIRECTORIES)
set(includedirs)
foreach( d ${incdirs})
set(includedirs ${includedirs} -I${d})
endforeach()
#---Get the list of header files-------------------------
set(headerfiles)
foreach(fp ${ARG_UNPARSED_ARGUMENTS})
if(${fp} MATCHES "[*?]") # Is this header a globbing expression?
file(GLOB files ${fp})
foreach(f ${files})
if(NOT f MATCHES LinkDef) # skip LinkDefs from globbing result
set(headerfiles ${headerfiles} ${f})
endif()
endforeach()
else()
find_file(headerFile ${fp} PATHS ${incdirs})
set(headerfiles ${headerfiles} ${headerFile})
unset(headerFile CACHE)
endif()
endforeach()
#---Get LinkDef.h file------------------------------------
set(linkdefs)
foreach( f ${ARG_LINKDEF})
find_file(linkFile ${f} PATHS ${incdirs})
set(linkdefs ${linkdefs} ${linkFile})
unset(linkFile CACHE)
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} VERBATIM)
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()
endif()
mark_as_advanced(ROOTCINT_EXECUTABLE GENREFLEX_EXECUTABLE)
# Modern add dictionary command
# Call with the name of the output dictionary
# Followed by sources (usually header files)
# with an optional LinkDef.h at the end
#
# Add the created dictionary target to the linked libraries
# root_add_dictionary(MyDict MyClass.h LinkDef.h)
function(root_add_dictionary OUTNAME)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${OUTNAME}.cxx"
COMMAND "${ROOTCINT_EXECUTABLE}" -v4 -f "${CMAKE_CURRENT_BINARY_DIR}/${OUTNAME}.cxx" ${ARGN}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
DEPENDS ${ARN}
)
add_library(${OUTNAME} STATIC "${CMAKE_CURRENT_BINARY_DIR}/${OUTNAME}.cxx")
target_link_libraries(${OUTNAME} PUBLIC ROOT::Libraries)
endfunction()

77
README.md Normal file
View File

@ -0,0 +1,77 @@
# musrSim simulation #
### Contents ###
This is the C++ source code for the musrSim simulation software which is intended to be a general tool to design and simulate µSR spectrometer with very high accuracy. To compile and run musrSim, the user must have a recent Geant4 (tested with v11.0.3 and v11.2.0) and Root installed (tested with v6-22-06 and v6-30-02, but the version should not be critical).
* The code is specifically tuned to simulate muon spin spectrometers.
* The code is maintained by the Laboratory for Muon Spin Spectroscopy at PSI.
### Supported platforms ###
* Linux and any other decent OS that can run Root and GEANT4.
### Installation ###
Compile and install Geant4, we recommend the use of the following cmake flags
cmake -DCMAKE_INSTALL_PREFIX=/path/to/G4installation /path/to/G4source -DGEANT4_USE_QT=ON -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_OPENGL_X11=ON
We also recommend that you use [`view3dscene`](https://castle-engine.io/view3dscene.php) as a VRML viewer.
Following the installation of Gean4, set the correct environment variables. This can be done easily by editing `/path/to/G4installation/bin/geant4.sh` to uncomment the lines defining Geant4 data location:
export G4NEUTRONHPDATA=$GEANT4_DATA_DIR/G4NDL4.7
export G4LEDATA=$GEANT4_DATA_DIR/G4EMLOW8.5
export G4LEVELGAMMADATA=$GEANT4_DATA_DIR/PhotonEvaporation5.7
export G4RADIOACTIVEDATA=$GEANT4_DATA_DIR/RadioactiveDecay5.6
export G4PARTICLEXSDATA=$GEANT4_DATA_DIR/G4PARTICLEXS4.0
export G4PIIDATA=$GEANT4_DATA_DIR/G4PII1.3
export G4REALSURFACEDATA=$GEANT4_DATA_DIR/RealSurface2.2
export G4SAIDXSDATA=$GEANT4_DATA_DIR/G4SAIDDATA2.0
export G4ABLADATA=$GEANT4_DATA_DIR/G4ABLA3.3
export G4INCLDATA=$GEANT4_DATA_DIR/G4INCL1.2
export G4ENSDFSTATEDATA=$GEANT4_DATA_DIR/G4ENSDFSTATE2.3
Then run the following to setup the correct variables
. /path/to/G4installation/bin/geant4.sh
You will probably need to do that everytime you want to run the simulation or add the line above to your `.bashrc`.
Clone the musrSim repository
git clone https://zaher-salman@bitbucket.org/zaher-salman/musrsim.git
then (see below for RedHat or other old systems)
cd musrsim
mkdir build
cd build
cmake ../
make -j8
make install
This will install the `musrSim` binary in `/usr/local/bin`, but it can be moved to any other directory in your `PATH`.
### Running the simulations ###
Prepare a file, `finlename.mac`, with your beamline and spectrometer design following the instruction in the [musrSim manual](https://bitbucket.org/zaher-salman/musrsim/src/master/doc/musrSim.pdf). Create a folder `data` and then run the simulation
musrSim filename.mac
### RedHat and old systems ###
For compilation on RedHat systems:
* Make sure that the `gcc-toolset-13` package is installed
* Use the follwoing compilation command: `scl enable gcc-toolset-13 'make -j8'`
* Use `CMakeLists_rhel8.txt`: `cp CMakeLists_rhel8.txt CMakeLists.txt`
* If you have Root 6.30 use `FindROOT_6.30.cmake`: `cp FindROOT_6.30.cmake FindROOT.cmake`
### Contact ###
Zaher Salman <zaher.salman@psi.ch>

Binary file not shown.

View File

@ -1,5 +1,5 @@
\documentclass[twoside]{dis04}
\usepackage{epsfig}
%\usepackage{epsfig}
%\def\runauthor{Kamil Sedl\'{a}k}
\def\runauthor{PSI}
% for the H1 collaboration}
@ -121,21 +121,18 @@ On the other hand, there are also some drawbacks and limitations:
%=============================================================================================
\section{How to install and run musrSim}
To install and run musrSim, one has to install Geant4 and Root first.
The present version of musrSim has been tested with Geant version 4.9.4,
and with Root version 5.24.00. While the version of Root should not be critical,
The present version of musrSim has been tested with Geant version 11.2.0,
and with Root version 6.30.02. While the version of Root should not be critical,
the users of musrSim are encouraged to always use the latest version of Geant4
due to continuous improvements of this package. A novice
due to continuous improvements of this package. Up to date
instructions are available on
https://bitbucket.org/zaher-salman/musrsim/. A novice
user of Geant4 may consider reading 30 pages of chapter~2 of the
Geant4 User's Guide for Application Developers, called
``Getting Started with Geant4 - Running a Simple Example''.
Once Geant4 has been successfully installed and some of the default Geant4 examples
has been run, the musrSim installation package can be downloaded from the web page
http://lmu.web.psi.ch/simulation/index.html.
Usually the ``env.sh'' script has to be run to set-up the environment variables
appropriately before the musrSim (and/or any other Geant4 application) can be compiled
and run.
The simulation is started by executing:
Once Geant4 and musrSim have been successfully installed the
simulation is started by executing:
{\bf $>$ musrSim \emph{RUNNUMBER}.mac} \\
where \emph{RUNNUMBER}.mac is a ``macro file'' containing the information about
@ -1260,6 +1257,8 @@ The list of variables that can be stored in the Root tree:
If the track ID is negative, there were more than just one track contributing to this hit. The absolute value
of det\_VrtxTrackID[det\_n] corresponds to the first (in time) track.
\item{\bf det\_VrtxParticleID[det\_n]} (array of Int\_t) -- particle ID of the first particle that belongs to the given hit.
(Some relevant particle IDs: Muon+=-13, Muon-=+13, Electron=11, Positron=-11,
Gamma=22, Proton=2212, Neutron=2112, Pion-=-211, Pion+=211.)
\item{\bf det\_Vvv*****[det\_n]} -- similar to the variables det\_Vrtx*****[det\_n] above, but if the first particle
belonging to the hit was created inside of the logical volume where the hit occurs, then it's track is followed
to its mother track (even several times) until the track (particle) is found that has been created outside the
@ -1300,6 +1299,8 @@ The list of variables that can be stored in the Root tree:
the given ``save'' volume. Save volumes can therefore be made of vacuum.
\item{\bf save\_detID[save\_n]} (array of Int\_t) -- ID number of the save volume.
\item{\bf save\_particleID[save\_n]} (array of Int\_t) -- particle ID of the particle that entered the save volume.
(Some relevant particle IDs: Muon+=-13, Muon-=+13, Electron=11, Positron=-11,
Gamma=22, Proton=2212, Neutron=2112, Pion-=-211, Pion+=211.)
\item{\bf save\_time[save\_n]} (array of Double\_t) -- time when the particle entered in the volume (in $\mu$s).
\item{\bf save\_x[save\_n], save\_y[save\_n], save\_z[save\_n]} (array of Double\_t) -- position of the particle where it
entered the save volume (``GetPreStepPoint()'') (in mm).
@ -1379,10 +1380,10 @@ One of the easiest example to illustrate the basic features of the musrSim (and/
shoot electrons into a scintillator block, and to observe the energy deposited inside it.
Figure~\ref{vis101}
%
\begin{figure}[tb]\centering
\epsfig{file=pict/vis_101_a.eps,width=8cm,%\linewidth,%
%bbllx=83pt,bblly=330pt,bburx=538pt,bbury=513pt,
clip=}
\begin{figure}[htb]\centering
\includegraphics[width=8cm]{pict/vis_101_a.pdf}
%\epsfig{file=pict/vis_101_a.eps,width=8cm}
%\linewidth,%%bbllx=83pt,bblly=330pt,bburx=538pt,bbury=513pt,clip=}
\caption{A simple simulation of an electron passing through two
scintillator tiles.}
\label{vis101}
@ -1487,9 +1488,9 @@ where some of the elements present in the simulation (beampipe, magnet, aluminiu
for simplicity.
The most important parameters of the simulation are summarised in table~\ref{dimensions}.
%
\begin{figure}[tbp]\centering
\epsfig{file=pict/vis_201_1.eps,width=0.5\linewidth,%
bbllx=70pt,bblly=270pt,bburx=455pt,bbury=640pt,clip=}
\begin{figure}[htbp]\centering
\includegraphics[width=0.5\linewidth]{pict/vis_201_1.pdf}
% \epsfig{file=pict/vis_201_1.eps,width=0.5\linewidth,bbllx=70pt,bblly=270pt,bburx=455pt,bbury=640pt,clip=}
\caption{3D view at the GPD detector system (run 201). Blue colour indicates the positron counters,
magenta stands for collimators, red is the muon counter. GPD magnet, some Aluminium U-profiles and beampipe
are not shown in the plot, however they are included in the simulation.}
@ -1497,25 +1498,25 @@ are not shown in the plot, however they are included in the simulation.}
\end{figure}
%
%
\begin{figure}[tbp]\centering
\epsfig{file=pict/vis_201_2.eps,width=0.8\linewidth,%
bbllx=90pt,bblly=310pt,bburx=450pt,bbury=525pt,clip=}
\begin{figure}[htbp]\centering
\includegraphics[width=0.7\linewidth]{pict/vis_201_2.pdf}
% \epsfig{file=pict/vis_201_2.eps,width=0.8\linewidth,bbllx=90pt,bblly=310pt,bburx=450pt,bbury=525pt,clip=}
\caption{Side view of the GPD detector.}
\label{fig:vis_201_2}
\end{figure}
%
%
\begin{figure}[tbp]\centering
\epsfig{file=pict/vis_201_3.eps,width=0.4\linewidth,%
bbllx=210pt,bblly=320pt,bburx=380pt,bbury=525pt,clip=}
\begin{figure}[htbp]\centering
\includegraphics[width=0.4\linewidth]{pict/vis_201_3.pdf}
% \epsfig{file=pict/vis_201_3.eps,width=0.4\linewidth,bbllx=210pt,bblly=320pt,bburx=380pt,bbury=525pt,clip=}
\caption{Front view of the GPD detector.}
\label{fig:vis_201_3}
\end{figure}
%
%
\begin{figure}[tbp]\centering
\epsfig{file=pict/vis_201_4.eps,width=0.9\linewidth,%
bbllx=70pt,bblly=309pt,bburx=485pt,bbury=513pt,clip=}
\begin{figure}[htbp]\centering
\includegraphics[width=0.8\linewidth]{pict/vis_201_4.pdf}
% \epsfig{file=pict/vis_201_4.eps,width=0.9\linewidth,bbllx=70pt,bblly=309pt,bburx=485pt,bbury=513pt,clip=}
\caption{Top view of the GPD detector.}
\label{fig:vis_201_4}
\end{figure}
@ -1588,7 +1589,7 @@ and typically can be found in subdirectories of the high field project:
/afs/psi.ch/project/HighFieldMuSR/.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\clearpage
%\clearpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

BIN
doc/pict/vis_101_a.pdf Normal file

Binary file not shown.

BIN
doc/pict/vis_101_b.pdf Normal file

Binary file not shown.

BIN
doc/pict/vis_201_1.pdf Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
doc/pict/vis_201_2.pdf Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
doc/pict/vis_201_3.pdf Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
doc/pict/vis_201_4.pdf Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -1,3 +0,0 @@
latex musrSim.tex
dvips -o musrSim.ps musrSim.dvi
dvipdf musrSim.dvi

View File

@ -1,3 +1,4 @@
#include <regex>
#include "musrDetectorConstruction.hh"
#include "musrPhysicsList.hh"
#include "musrPrimaryGeneratorAction.hh"
@ -10,9 +11,7 @@
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIterminal.hh"
#ifdef G4UI_USE_TCSH
#include "G4UItcsh.hh" //JSL: should be commented on windows ?
#endif
//#include <TApplication.h>
//#include <TSystem.h>
@ -28,11 +27,9 @@
// #include <X11/Xlib.h> //JSL
#ifdef G4VIS_USE
// #include "musrVisManager.hh"
#include "G4VisExecutive.hh"
#include "G4TrajectoryDrawByCharge.hh" // TS Trajectory drawing by ID or charge
#endif
#include "musrRootOutput.hh"
#include "musrParameters.hh"
@ -80,9 +77,13 @@ int main(int argc,char** argv) {
// UserInitialization classes (mandatory)
// musrDetectorConstruction* musrdetector = new musrDetectorConstruction;
//Allow for argv[1] generic paths and only extract the runnumber before .mac
if (argc>1) {
G4int myRunNr=atoi(argv[1]); // Get the run number from the name of the
// parameter file, if it starts with a number.
std::regex pattern(R"((\d+)(?=(?=[^/]*\.mac$)))"); // for an input like /some/path987/1234.mac for argv[1]. Matches last number (1234) before ".mac"
std::smatch match;
G4int myRunNr = 0;
std::string argv1str(argv[1]);
if (std::regex_search(argv1str, match, pattern)) myRunNr = G4int(std::stoi(match.str(1)));
if (myRunNr>0) {runManager->SetRunIDCounter(myRunNr);}
// musrdetector->SetInputParameterFileName(argv[1]);
}
@ -90,12 +91,10 @@ int main(int argc,char** argv) {
runManager->SetUserInitialization(musrdetector);
runManager->SetUserInitialization(new musrPhysicsList);
#ifdef G4VIS_USE
// Visualization, if you choose to have it!
// G4VisManager* visManager = new musrVisManager;
G4VisManager* visManager = new G4VisExecutive; // TS Trajectory drawing by ID or charge
visManager->Initialize();
#endif
// UserAction classes
runManager->SetUserAction(new musrPrimaryGeneratorAction(musrdetector));
@ -116,11 +115,7 @@ int main(int argc,char** argv) {
{
// G4UIterminal is a (dumb) terminal.
G4UIsession * session = 0;
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
UI->ApplyCommand("/control/execute vis.mac");
session->SessionStart();
@ -136,11 +131,7 @@ int main(int argc,char** argv) {
G4String SecondArgument = argv[2];
if (SecondArgument=="idle") {
G4UIsession * session = 0;
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
G4cout<<"Go to idle state now:"<<G4endl;
session->SessionStart();
delete session;
@ -150,9 +141,7 @@ int main(int argc,char** argv) {
// myapp->Run(kTRUE);
#ifdef G4VIS_USE
delete visManager;
#endif
delete myRootOutput;
delete myErrorMessage;
delete myParameters;

View File

@ -5,7 +5,7 @@
CPP=g++
#CPPFLAGS= -I$(ROOTSYS)/include -I/userdisk/sedlak/myLCG/CondDBMySQL_new/CondDBMySQL/include -I/usr/include/mysql
#LDFLAGS= $(shell root-config --glibs) -L/userdisk/sedlak/myLCG/CondDBMySQL_new/CondDBMySQL/src/.libs -lconddb -L/usr/lib/mysql -lmysqlclient
CPPFLAGS= -I$(ROOTSYS)/include/root -std=c++11
CPPFLAGS= -I$(ROOTSYS)/include -std=c++17
LDFLAGS= $(shell root-config --glibs) -lMinuit
all: musrRoot

View File

@ -1,697 +0,0 @@
# Macro file for musr.cc - Construct detector, set fields and other parameters.
# Last modified by T. Shiroka: 17.03.2008
#
# Corrected TD and MCP2 distances by T. Prokscha, 07.11.2008.
#
# How to run: musr 10xx.mac (append "idle" for prompt after running)
# musr 10xx.mac > fname.txt (stores output on a txt file)
###############################################################################################
# #
# Specify the geometry parameters in this file (all dimensions in mm) #
# a. Lines starting with hash marks "#" are comments #
# b Lines starting with #* are temporary comments. Remove/modify to change the configuration #
# c. Lines starting with /musr/command are commands for the executable program #
# d. Lines starting with /vis, /gun, etc. are common macro commands #
# e. Beam-line components are ordered from exp. area (MCP2) to trigger detector (TD) #
#---------------------------------------------------------------------------------------------#
# Syntax example (following /musr/command): #
# construct solid_type volume_name parameters_defining_solid material position mothers_name #
# (mothers_name starts with log_) #
###############################################################################################
# For the meaning of the acronyms see also the original G3 file ugeom.F at:
# http://savannah.psi.ch/viewcvs/trunk/simulation/geant3/src/lemsr/ugeom.F?root=nemu%2Flem&rev=2964&view=markup
################################################################################################################
# -- ROTATION MATRICES --
################################################################################################################
# 3 parameters -> Define Euler angles (the 4th par. is set to zero).
# 4 parameters -> Define axis + rotation.
# HEP computations ordinarily use the active rotation viewpoint (object is rotated NOT axes).
# Therefore, rotations about an axis imply ACTIVE COUNTER-CLOCKWISE rotation in this package.
# Rotation around a specified axis means counter-clockwise rot. around the positive direction of the axis.
# Define rotations for the field maps of Trigger and Ring Anode:
/musr/command rotation rotTrig 0 1 0 -45
/musr/command rotation rotRAnR 0 0 1 -90
/musr/command rotation rotRAnL 0 0 1 90
/musr/command rotation rotRAnD 0 0 1 180
################################################################################################################
# -- LEM GEOMETRY --
################################################################################################################
# WORLD = Laboratory reference frame, the origin is in the centre of the LEM sample tube
/musr/command construct box World 250 250 2250 G4_Galactic 0 0 0 no_logical_volume norot dead -1
# MINIMUM WORD HALF LENGTH 1250 mm!
#/musr/command construct box World 2000 2000 4000 G4_Galactic 0 0 0 no_logical_volume norot dead -1
# World visual attributes (optional)
/musr/command visattributes log_World invisible
#===============================================================================================================
# Sc - Scintillators: U - up, D - down, L - left, R - right (with respect to muon's view - momentum direction)
# 8 Scintillators in two concentric rings - Inner and Outer (see also the convention for the Ring Anode)
#===============================================================================================================
## Inner Scintillators - I
/musr/command construct tubs ScIU 90 95 130 45 90 G4_PLASTIC_SC_VINYLTOLUENE 0 0 0 log_World norot musr/ScintSD 011 nofield
/musr/command construct tubs ScIR 90 95 130 135 90 G4_PLASTIC_SC_VINYLTOLUENE 0 0 0 log_World norot musr/ScintSD 012 nofield
/musr/command construct tubs ScID 90 95 130 225 90 G4_PLASTIC_SC_VINYLTOLUENE 0 0 0 log_World norot musr/ScintSD 013 nofield
/musr/command construct tubs ScIL 90 95 130 315 90 G4_PLASTIC_SC_VINYLTOLUENE 0 0 0 log_World norot musr/ScintSD 014 nofield
## Outer Scintillators - O
/musr/command construct tubs ScOU 96 101 130 45 90 G4_PLASTIC_SC_VINYLTOLUENE 0 0 0 log_World norot musr/ScintSD 021 nofield
/musr/command construct tubs ScOR 96 101 130 135 90 G4_PLASTIC_SC_VINYLTOLUENE 0 0 0 log_World norot musr/ScintSD 022 nofield
/musr/command construct tubs ScOD 96 101 130 225 90 G4_PLASTIC_SC_VINYLTOLUENE 0 0 0 log_World norot musr/ScintSD 023 nofield
/musr/command construct tubs ScOL 96 101 130 315 90 G4_PLASTIC_SC_VINYLTOLUENE 0 0 0 log_World norot musr/ScintSD 024 nofield
# Visual attributes (optional)
#*/musr/command visattributes log_ScOU SCINT_style
#*/musr/command visattributes log_ScOD dSCINT_style
/musr/command visattributes log_ScOL darkred
/musr/command visattributes log_ScIL darkred
#===============================================================================================================
# Experimental Area - Can host EITHER the Cryostat OR the MCP2 (For the tests we usually use the MCP)
# Delimited by the F160 and F100 (blank end) flanges
#
# 07/Nov/2008: correct sample tube dimensions: the new tubes have 75 mm / 78 mm inner/outer radius
#
#===============================================================================================================
# MCP - Multi-Channel Plate 2 Chamber; V - Vacuum, S - Solid # Note: VERY IMPORTANT: mcpv_z = -92.5 mm!
# OLD way of assigning a field
#/musr/command construct tubs MCPV 0 76.5 254.5 0 360 G4_Galactic 0 0 -92.5 log_World norot dead 100 MCPSfield
/musr/command construct tubs MCPV 0 75.0 254.5 0 360 G4_Galactic 0 0 -92.5 log_World norot dead 100 nofield
/musr/command construct tubs MCPS 75.0 78.0 162.0 0 360 Steel 0 0 0 log_World norot dead 101 nofield
# F - Flanges: F160, F100, F200 (used only when the Asymmetry check is OFF)
# F160 - 160 CF flange upstream of MCP2 tube
# F100 (Blank end flange) # OLD Value was 162.0
/musr/command construct tubs F160 78.0 101.25 11 0 360 Steel 0 0 -151.0 log_World norot dead 901 nofield
/musr/command construct tubs F100 0 75.0 10 0 360 Steel 0 0 172.0 log_World norot dead 902 nofield
# NOTE: Original F100 referred to MCPV (as shown below) was moved to World.
#/musr/command construct tubs F100 0 76.5 10 0 360 Steel 0 0 264.5 log_MCPV norot dead 902 nofield
# Experimental Area visual attributes (optional)
/musr/command visattributes log_MCPV invisible
/musr/command visattributes log_MCPS invisible
/musr/command visattributes log_F160 blue_style
/musr/command visattributes log_F100 blue_style
#===============================================================================================================
# MCP - Micro Channel Plate Detector MCP2 (Used as an alternative to cryostat) # mcpv_z = -92.5 mm!
#
# We have a 324 mm long sample tube;
# the MCP2 front side is at 142 mm from the end of the sample tube.
# the front face of the sample plate of the cryostat is 145 mm from the end of the sample tube.
#
#===============================================================================================================
# MCPM1 - MCP Macor ring 1
# MCPD - electron multiplying glass disk (also known as target)
# Sensitive surface at z = 20 mm wrt. World
# MCPM2 - MCP Macor ring 2
#*/musr/command construct tubs MCPM1 24 32.5 0.75 0 360 Macor 0 0 105.75 log_MCPV norot dead 201 nofield
# Use it either as (DMCP-musr/ScintSD) - no info on mu+ polariz., or as (target-dead) with info on mu+ polariz.
#*/musr/command construct tubs target 0 25.0 1.50 0 360 MCPglass 0 0 108.0 log_MCPV norot dead 032 nofield
/musr/command construct tubs MCPM2 24 32.5 0.75 0 360 Macor 0 0 116.25 log_MCPV norot dead 203 nofield
# NOTE: To intercept ALL the incoming muons, comment the DMCP and MCPM1 lines above and uncomment this one:
#*/musr/command construct tubs DMCP 0 76.5 1.5 0 360 MCPglass 0 0 108 log_MCPV norot musr/ScintSD 202 nofield
/musr/command construct tubs target 0 75.0 1.5 0 360 MCPglass 0 0 114 log_MCPV norot musr/ScintSD 202 nofield
# MCSR - Stainless Steel Ring for MCP2 mounting (modelled as a box with a circular hole)
# MCVR - "Vacuum Ring" (circular hole)
/musr/command construct box MCSR 36.5 36.5 1 Steel 0 0 118.5 log_MCPV norot dead 204 nofield
/musr/command construct tubs MCVR 0 27.5 1 0 360 G4_Galactic 0 0 0 log_MCSR norot dead 205 nofield
# MCPA = MCP Anode (modelled as a box with two symmetrically subtracted "vacuum" disks)
# ANVA1 - Anode "Vacuum" 1 - Part of MCP Anode
# ANVA2 - Anode "Vacuum" 2 - Part of MCP Anode
/musr/command construct box MCPA 36.5 36.5 4 Steel 0 0 129.5 log_MCPV norot dead 206 nofield
/musr/command construct tubs ANVA1 0 27.5 1.5 0 360 G4_Galactic 0 0 -2.5 log_MCPA norot dead 207 nofield
/musr/command construct tubs ANVA2 0 27.5 1.5 0 360 G4_Galactic 0 0 2.5 log_MCPA norot dead 208 nofield
# MCSS - MCP Stainless Steel Support Ring
/musr/command construct tubs MCSS 40 48 2.5 0 360 Steel 0 0 162.3 log_MCPV norot dead 209 nofield
# MCP2 visual attributes (optional)
#/musr/command visattributes log_DMCP MCP_style
#*/musr/command visattributes log_target MCP_style
#*/musr/command visattributes log_MCPM1 MACOR_style
/musr/command visattributes log_MCPM2 MACOR_style
#===============================================================================================================
# CRY - Cryostat - Used as an ALTERNATIVE to MCP2 - Uncomment lines with #*. (Offset = 0.0 cm)
#
# at the moment, sample plate front face is still at z = 14.0mm --> should be changed to 17mm.
#===============================================================================================================
# SAH - SAmple Holder components (Cu plate) Cu or Al plates 1. Cu plate (sample holder) on Cold finger, 0.5cm
# SAPH - SAPpHire plate mounted between 1st and 2nd Cu plates, 6 mm thick, 60 mm diameter.
# SAH3 is ignored because currently NOT use.
#*/musr/command construct tubs SAH1 0 35 2.5 0 360 G4_Cu 0 0 119.0 log_MCPV norot dead 251 nofield
#*/musr/command construct tubs SAH2 0 35 2 0 360 G4_Cu 0 0 108.5 log_MCPV norot dead 252 nofield
#/musr/command construct tubs SAH3 20 35 0.5 0 360 G4_Cu 0 0 106.0 log_MCPV norot dead 253 nofield
#*/musr/command construct tubs SAPH 0 30 3 0 360 G4_ALUMINUM_OXIDE 0 0 113.5 log_MCPV norot dead 254 nofield
# Other components of the CRYostat (dimensions and position of CRY4 are only approx. because unknown)
# COFI - COld FInger
# CRY1 - End plate of cryostat (7 mm thick, 30 mm diameter)
# CRY2 - Heat exchanger (assuming a 10 mm opening - Original dimensions not known.) # OLD pos. 160.0
# CRY3 - Mounting ring for He-shield
# CRY4 - 2 mm thick plate for mounting ring. This is just to close the downstream side.
# CRSH - Lateral He-shield
# CRSH2- Frontal He-shield Ring
#*/musr/command construct tubs COFI 0 27.5 5 0 360 G4_Cu 0 0 126.5 log_MCPV norot dead 261 nofield
#*/musr/command construct tubs CRY1 0 15 3.5 0 360 G4_Cu 0 0 135.0 log_MCPV norot dead 262 nofield
#*/musr/command construct tubs CRY2 5 15 25 0 360 G4_Cu 0 0 163.5 log_MCPV norot dead 263 nofield
#*/musr/command construct tubs CRY3 38 47 5.5 0 360 G4_Cu 0 0 143.5 log_MCPV norot dead 264 nofield
#*/musr/command construct tubs CRY4 15 38 1 0 360 G4_Cu 0 0 143.5 log_MCPV norot dead 265 nofield
#*/musr/command construct tubs CRSH 47 48 45 0 360 G4_Cu 0 0 108.5 log_MCPV norot dead 266 nofield
#*/musr/command construct tubs CRSH2 30 48 0.5 0 360 G4_Cu 0 0 63.0 log_MCPV norot dead 267 nofield
# Electrical Field Guard Rings (distance between the guard rings: 16 mm)
#*/musr/command construct tubs Guard1 29 38 1.5 0 360 G4_Cu 0 0 76.0 log_MCPV norot dead 271 nofield
#*/musr/command construct tubs Guard2 29 38 1.5 0 360 G4_Cu 0 0 92.0 log_MCPV norot dead 272 nofield
# Cryostat visual attributes (optional)
#*/musr/command visattributes log_SAH1 oxsteel
#*/musr/command visattributes log_SAH2 oxsteel
#*/musr/command visattributes log_SAPH MACOR_style
#/musr/command visattributes log_SAH3 oxsteel
#/musr/command visattributes log_CRSH invisible
#===============================================================================================================
# RA - Ring Anode, M - middle part (closer to Ground Anode), E - end part (farther from the Ground Anode)
# U - up, D - down, L - left, R - right (with respect to muon's view - momentum direction)
# Note: 3.0 mm HALF gap at 45.1469 mm half radius => delta_ang = asin(3.0/45.1469)*180/pi = 3.81 deg.
# Note: delta_ang = 3.1744 deg. for 2.5 mm HG. The angular extension goes e.g. from (45 + da) to (90 - 2*da).
# Note: Ring Anode - Ground Anode distance was 15 mm => CHANGED to 12 mm! (Positions: 11.5 -> 8.5, -33.5 -> -36.5)
#===============================================================================================================
# RA_Ez = -10.35+2.25 = -8.1 cm; RA_Mz= -10.35 - 2.25 = -12.6 cm; RA_Gz= -25.45+3.75 = -21.7 cm; mcpv_z = -9.25 cm
/musr/command construct cons RA_EU 45.1469 62.5 33.5 39.0 22.5 48.81 82.38 Steel 0 0 8.5 log_MCPV norot dead 301 nofield
/musr/command construct cons RA_MU 56.7937 62.5 45.147 62.5 22.5 48.81 82.38 Steel 0 0 -36.5 log_MCPV norot dead 302 nofield
/musr/command construct cons RA_ER 45.1469 62.5 33.5 39.0 22.5 48.81 82.38 Steel 0 0 8.5 log_MCPV rotRAnR dead 303 nofield
/musr/command construct cons RA_MR 56.7937 62.5 45.147 62.5 22.5 48.81 82.38 Steel 0 0 -36.5 log_MCPV rotRAnR dead 304 nofield
/musr/command construct cons RA_ED 45.1469 62.5 33.5 39.0 22.5 48.81 82.38 Steel 0 0 8.5 log_MCPV rotRAnD dead 305 nofield
/musr/command construct cons RA_MD 56.7937 62.5 45.147 62.5 22.5 48.81 82.38 Steel 0 0 -36.5 log_MCPV rotRAnD dead 306 nofield
/musr/command construct cons RA_EL 45.1469 62.5 33.5 39.0 22.5 48.81 82.38 Steel 0 0 8.5 log_MCPV rotRAnL dead 307 nofield
/musr/command construct cons RA_ML 56.7937 62.5 45.147 62.5 22.5 48.81 82.38 Steel 0 0 -36.5 log_MCPV rotRAnL dead 308 nofield
# Dummy, thin cylindres used for applying the SAME RA field-map (ROTATED by 90 deg.) to different anodes.
# NOTE: EM field cannot be applied to non simply connected bodies, as e.g. rings, cones, tori, etc.!
/musr/command construct tubs RA_U 0 0.01 0.005 0 360 G4_Galactic 0 0 -50.50 log_MCPV norot dead 322 nofield
/musr/command construct tubs RA_R 0 0.01 0.005 0 360 G4_Galactic 0 0 -50.52 log_MCPV rotRAnR dead 324 nofield
/musr/command construct tubs RA_D 0 0.01 0.005 0 360 G4_Galactic 0 0 -50.54 log_MCPV rotRAnD dead 326 nofield
/musr/command construct tubs RA_L 0 0.01 0.005 0 360 G4_Galactic 0 0 -50.56 log_MCPV rotRAnL dead 328 nofield
# RA_G - Ring Anode Ground Cylinder
/musr/command construct tubs RA_G 58 62.5 58.0 0 360 G4_Cu 0 0 -129.0 log_MCPV norot dead 351 nofield
# Ring Anodes visual attributes (optional)
/musr/command visattributes log_RA_EU oxsteel
/musr/command visattributes log_RA_MR oxsteel
/musr/command visattributes log_RA_G Grid_style
# Alternative placement using World as a mother volume (mcpv_z = -92.5 mm). Check latter. These values refer to a 5 mm GAP!
#/musr/command construct cons RA_EU 45.1469 62.5 33.5 39.0 22.5 48.1711 83.6578 Steel 0 0 -81 log_World norot dead 301 nofield
#/musr/command construct cons RA_MU 56.7937 62.5 45.147 62.5 22.5 48.1711 83.6578 Steel 0 0 -126 log_World norot dead 302 nofield
#===============================================================================================================
# Gate Valve Area - Hosts the Ground Anode (upstream part of the Ring Anode) - Delimited by L3F1 and F200 flanges
#===============================================================================================================
# GATS - 200 CF flange upstream of MCP2 tube covering the whole length of the gate valve chamber. For simplicity, we
# choose the INNER diameter of the GATe valve Steel tube the same as the OUTER diameter of F200 (200 CF flange)
/musr/command construct tubs GATS 103.25 126.5 92.5 0 360 Steel 0 0 -254.5 log_World norot dead 371 nofield
# Vacuum "Ring" (to avoid intersections with MCPV) - Not needed if world is already filled with vacuum.
#*/musr/command construct tubs GATV 76.5 103.25 92.5 0 360 G4_Galactic 0 0 -254.5 log_World norot dead 370 nofield
# F200 - 200 CF flange upstream of MCP2 tube to connect to gate valve chamber
/musr/command construct tubs F200 76.5 103.25 12 0 360 Steel 0 0 -174.0 log_World norot dead 372 nofield
# NOTE: When using GATV comment the F200 above and uncomment the following (change mother to log_GATV).
#*/musr/command construct tubs F200 76.5 103.25 12 0 360 Steel 0 0 80.5 log_GATV norot dead 372 nofield
# Gate Valve Area visual attributes (optional)
/musr/command visattributes log_GATS SCINT_style
/musr/command visattributes log_F200 blue_style
#===============================================================================================================
# L3 - 3rd Einzel Lens # L3z = -56.7 cm. ATT: DUMMY FIELD change to electric L3Efield!
#===============================================================================================================
# Lens Gap = 12.0 mm => G/D = 12/130 ~ 0.1 (Lens Gap = gap between Ground and Anode, D - Diameter)
# L3 envelope (Tube + Flanges)
# L3VA - Lens 3 Vacuum
# L3ST - Lens 3 Steel tube (inner dia: 200 mm, outer dia: 206 mm, length: 720 mm)
# L3F1 - Lens 3 Flange 1, z = L3z + 208 mm
# L3F2 - Lens 3 Flange 2, z = L3z - 208 mm
/musr/command construct tubs L3VA 0 100 220 0 360 G4_Galactic 0 0 -567 log_World norot dead 400 nofield
/musr/command construct tubs L3ST 100 103 220 0 360 Steel 0 0 -567 log_World norot dead 401 nofield
/musr/command construct tubs L3F1 103 126.5 12 0 360 Steel 0 0 -359 log_World norot dead 402 nofield
/musr/command construct tubs L3F2 103 126.5 12 0 360 Steel 0 0 -775 log_World norot dead 403 nofield
# GPn - Ground Potential Electrodes
# n = 1-4 and 5-8 - components of the Ground Electrodes
# GP1 - Ground Electrode (inner dia: 130 mm, outer dia: 134 mm, length: 133 mm)
# GP2 - outer electrode surface (LN2 cooling vessel)
# GP3 - first ring cap
# GP4 - second ring cap
# n = 1-4 - Ground Electrode 1 (further from TD). See above for the meaning of acronyms.
/musr/command construct tubs L3GP1 65 67 66.5 0 360 Steel 0 0 133.5 log_L3VA norot dead 421 nofield
/musr/command construct tubs L3GP2 81 83 66.5 0 360 Steel 0 0 133.5 log_L3VA norot dead 422 nofield
/musr/command construct tubs L3GP3 67 81 4 0 360 Steel 0 0 196.0 log_L3VA norot dead 423 nofield
/musr/command construct tubs L3GP4 67 81 4 0 360 Steel 0 0 71.0 log_L3VA norot dead 424 nofield
# n = 5-8 - Ground Electrode 2 (closer to TD). See above for the meaning of acronyms.
/musr/command construct tubs L3GP5 65 67 66.5 0 360 Steel 0 0 -133.5 log_L3VA norot dead 431 nofield
/musr/command construct tubs L3GP6 81 83 66.5 0 360 Steel 0 0 -133.5 log_L3VA norot dead 432 nofield
/musr/command construct tubs L3GP7 67 81 4 0 360 Steel 0 0 -196.0 log_L3VA norot dead 433 nofield
/musr/command construct tubs L3GP8 67 81 4 0 360 Steel 0 0 -71.0 log_L3VA norot dead 434 nofield
# HP - High Potential Electrode (Central Anode - usually at +8.7 kV, for a 15 keV muon beam)
/musr/command construct tubs L3HP 65 83 55 0 360 Steel 0 0 0 log_L3VA norot dead 451 nofield
# Lens 3 visual attributes (optional)
/musr/command visattributes log_L3VA invisible
/musr/command visattributes log_L3ST invisible
/musr/command visattributes log_L3HP darkred
#===============================================================================================================
# IP - Intermediate Piece (between Trigger Detector and Einzel Lens 3)
# Original name was CGate - B-field Coil Compensation Gate?! # CompGatez = -86.55 cm; // L3z - 22 - 7.85 cm
#===============================================================================================================
# IPV (but also others) are just empty volumes "filled" with vacuum. Sometimes used to apply EM fields to restricted areas.
/musr/command construct tubs IPV 0 100 78.5 0 360 G4_Galactic 0 0 -865.5 log_World norot dead 500 nofield
# IPCF - Intermediate Piece Central Flange (same as L3 Flanges)
# IPST - Intermediate Piece Steel Tube (same diameter as L3 Steel Tube)
/musr/command construct tubs IPCF 103 126.5 12.0 0 360 Steel 0 0 -865.5 log_World norot dead 501 nofield
/musr/command construct tubs IPST 100 103 78.5 0 360 Steel 0 0 -865.5 log_World norot dead 502 nofield
# IP visual attributes (optional)
/musr/command visattributes log_IPV invisible
/musr/command visattributes log_IPCF blue_style
/musr/command visattributes log_IPST gray
#===============================================================================================================
# Trigger - Trigger Detector # Triggerz = -1092 mm; total length of TD is 110 mm; carbon foil at -1144 mm.
#===============================================================================================================
# Trigger tube and relative vacuum
/musr/command construct tubs TriggerV 0 100 148 0 360 G4_Galactic 0 0 -1092 log_World norot dead 600 nofield
/musr/command construct tubs Trigger 100 103 148 0 360 Steel 0 0 -1092 log_World norot dead 601 nofield
# TF - Trigger tube flanges
/musr/command construct tubs TF1 103 126.5 12 0 360 Steel 0 0 -956 log_World norot dead 611 nofield
/musr/command construct tubs TF2 103 126.5 12 0 360 Steel 0 0 -1228 log_World norot dead 612 nofield
#-------------------------------------------------------------
# trigger foil is 52mm upstream of Triggerz, i.e. at -1144 mm
#-------------------------------------------------------------
# Carbon Foil (default HALF-thickness 0.000005147 mm, see below => CFoil thick = 10.3 nm).
# USE THE NAME CFoil or coulombCFoil, otherwise musrMuFormation won't work!
####/musr/command construct box CFoil 60 60 0.000005147 G4_GRAPHITE 0 0 -45 log_TriggerV norot dead 621 nofield
/musr/command construct box CFoil 60 60 0.0000049 G4_GRAPHITE 0 0 -52.1 log_TriggerV norot dead 621 nofield
####/musr/command construct box coulombCFoil 60 60 0.000005147 G4_GRAPHITE 0 0 -45 log_TriggerV norot dead 621 nofield
# Notes: NIST tables use G4_GRAPHITE with 1.7 g/cm3 and 78 eV ioniz. energy.
# An area density of 2.20 ug/cm2 implies a CF thickn. = (2.20*1.e-6/1.70)*cm = 1.294e-5 mm - Total thickness
# An area density of 1.75 ug/cm2 implies a CF thickn. = (1.75*1.e-6/1.70)*cm = 1.029e-5 mm - Total thickness
# If necessary, use Graphite as defined in musrDetectorConstruction.cc and set any density.
# Dummy plane to intercept outgoing muons from the Carbon foil.
#*/musr/command construct box saveCFoil 60 60 5e-4 G4_Galactic 0 0 -52.0005 log_TriggerV norot dead 623 nofield
/musr/command construct box saveAfterTD 60 60 5e-4 G4_Galactic 0 0 58.0006 log_TriggerV norot dead 623 nofield
# Electrical Field areas in the Trigger Detector
# En = Electrical Field n: TnFieldMgr (n = 1-3)
# Original TriggE2: [4.*sqrt(2), 4.5, 0.7/sqrt(2)] cm -> changed due to overlaps with E1 and E3
/musr/command construct box TriggE0 45 45 5 G4_Galactic 0 0 -57.15 log_TriggerV norot dead 630 nofield
/musr/command construct box TriggE1 45 45 4 G4_Galactic 0 0 -48.0 log_TriggerV norot dead 631 nofield
/musr/command construct box TriggE2 45 45 4.9497 G4_Galactic 0 0 2.25 log_TriggerV rotTrig dead 632 nofield
/musr/command construct box TriggE3 45 45 4 G4_Galactic 0 0 54.0 log_TriggerV norot dead 633
# Beam spot (just for having a visual idea!)
/musr/command construct tubs BSpot 0 20 1 0 360 G4_Galactic 0 0 -63.15 log_TriggerV norot dead 650 nofield
# Trigger visual attributes (optional)
/musr/command visattributes log_TriggerV invisible
/musr/command visattributes log_Trigger invisible
#*/musr/command visattributes saveCFoil MACOR_style
/musr/command visattributes log_saveAfterTD darkred
/musr/command visattributes log_BSpot darkred
# One can set visible attrib. also on a MATERIAL basis, rather than on log_VOL.
# E.g. /musr/command visattributes Steel red
################################################################################################################
# -- Setting the ELECTRIC and MAGNETIC fields --
################################################################################################################
# Use ABSOLUTE coordinates to specify the field position (i.e. with respect to GLOBAL WORLD)!
# Default field units: Magnetic - T, Electric - kV/mm (or kV for E-field maps).
# NOTE: Applying a field to an invisible log_vol makes is visible!
### Electric field at TRIGGER Detector TD: Three different uniform fields
/musr/command globalfield Trigg0_field 45 45 5 uniform 0. 0. -1149.15 log_TriggE0 0 0 0 0 0 0.373
/musr/command globalfield Trigg1_field 45 45 4 uniform 0. 0. -1140. log_TriggE1 0 0 0 0 0 -0.02375
/musr/command globalfield Trigg2_field 45 45 4.9497 uniform 0. 0. -1089.75 log_TriggE2 0 0 0 0 0 0.041416
/musr/command globalfield Trigg3_field 45 45 4 uniform 0. 0. -1038.0 log_TriggE3 0 0 0 0 0 -0.49375
### Electric field at Einzel LENS 3 - from folded 2D axial field map (f - folded, i.e. symmetric)
# Typically V = +8.7 kV for a muon beam at 15 keV. Use either 2DE L3_Erz.map or
#
# ATTENTION: The electric field is ANTI-symmetric: DO NOT use folded field map L3_Erz4.map!!
#
/musr/command globalfield Lens3_field 0. 0. -567. fromfile 2DE L3_Erz.map log_L3VA 6.51
# To change the field in regular steps (e.g. for testing) use (f_min f_max step_no), e.g.:
#*/musr/command globalfield Lens3_field 0. 0. -567. fromfile 2DE L3_Erz.map log_L3VA 7 11 5
### Electric field at RING ANODE - from 3DE field map
# Typically set at +11.0 kV for a muon beam at 15 keV
# To create an arbitrary configuration, switch on all fields and set different potentials.
#######/musr/command globalfield RngAnU_field 0. 0. -167.00 fromfile 3DE EM_3D_extc.map log_RA_U 11.0
/musr/command globalfield RngAnU_field 0. 0. -143.00 fromfile 3DE EM_3D_ext_gridf.map log_RA_U 8.26
/musr/command globalfield RngAnR_field 0. 0. -143.02 fromfile 3DE EM_3D_ext_gridf.map log_RA_R 8.26
/musr/command globalfield RngAnD_field 0. 0. -143.04 fromfile 3DE EM_3D_ext_gridf.map log_RA_D 8.26
/musr/command globalfield RngAnL_field 0. 0. -143.06 fromfile 3DE EM_3D_ext_gridf.map log_RA_L 8.26
### LAST FIELD OK: EM_3D_ext2f.map
# EXTENDED MAPS (from -28 to +20 mm) EM_3D_extc.map or EM_3D_extf.map (coord + field or field only)
# "Best" results with EM_RA_3D.map, even though this is not a precise map (poor meshing).
#RA_1kV_upf_raw.map
#RA_1kV_upf.map # EM_extendf2.map give rise to "strange spots" -> lem4_1047_RA13.eps
### Electric field at SAMPLE space. Three possible field maps: Sample, G1 and G2 (closest to sample)
# To create an arbitrary configuration, switch on all fields and set different potentials.
# Field extension along z: 50 mm. Center of MCPV at z = -92.5 mm. Sample face at: z = 108.5 (4 mm thick - SAH2).
# Position of the field: (-92.5 - 50/2) + (108.5 - 4/2) = -11 mm wrt. WORLD! =>
#*/musr/command globalfield Sample_field 0. 0. -11.0 fromfile 2DE sample_Erz.map log_MCPV 9.0
#*/musr/command globalfield Guard2_field 0. 0. -11.0 fromfile 2DE guard2_Erz.map log_MCPV 6.0
#*/musr/command globalfield Guard1_field 0. 0. -11.0 fromfile 2DE guard1_Erz.map log_MCPV 3.0
### Magnetic field at SAMPLE space (use either a uniform field or a field map).
# Use either DMCP or MCPV to apply a CONSTANT field strictly to the sample or also to the surroundings, resp.!
#*/musr/command globalfield Magnet_field ? ? ? uniform 0. 0. 14.5 log_DMCP 0 0.005 0 0 0 0
# Use field map to set field to 20 G TF
# Extended map has -100/100 cm z extension, field center at +70, original -85/85, center at +85
#######/musr/command globalfield Magnet_field 0. 0. -836.0 fromfile 2DB sample_Brz.map log_IPV 0.002
#*/musr/command globalfield Magnet_field 0. 0. -686.0 fromfile 2DB sample_Brz_ext.map log_L3VA 0.002
# Set parameters for particle tracking in an EM field
/musr/command globalfield setparameter SetLargestAcceptableStep 5
/musr/command globalfield setparameter SetMinimumEpsilonStep 5e-5
/musr/command globalfield setparameter SetMaximumEpsilonStep 0.001
/musr/command globalfield setparameter SetDeltaOneStep 0.1
/musr/command globalfield setparameter SetDeltaIntersection 0.01
/musr/command globalfield printparameters
################################################################################################################
# -- Testing the ELECTRIC and MAGNETIC fields (OPTIONAL) --
################################################################################################################
# FIELD CHECKS at different beam transport components (from trigg. to sample)
# All distances in mm and in GLOBAL coordinates (preferably at field center)
# The test points below are just some examples. Any point can be checked.
# Trigger 0
/musr/command globalfield printFieldValueAtPoint 0. 0. -1149.15
# Trigger 1
/musr/command globalfield printFieldValueAtPoint 0. 0. -1140.
# Trigger 2
/musr/command globalfield printFieldValueAtPoint 0. 0. -1089.75
# Trigger 3
/musr/command globalfield printFieldValueAtPoint 0. 0. -1038.0
# Einzel Lens 3 - L3 (center at -567.0, but max field at rel. +/-62 mm)
/musr/command globalfield printFieldValueAtPoint 0. 0. -507.0
# Ring Anode - RA (center at -167.0, but max field at rel. -16/+132 mm)
/musr/command globalfield printFieldValueAtPoint 0. 0. -35.0
# Sample space (center at -11.0, but max field at rel. +24 mm)
/musr/command globalfield printFieldValueAtPoint 0. 0. 13.0
# Check magnetic field at sample space
#*/musr/command globalfield printFieldValueAtPoint 10. 0. 13.0
# Check magnetic field at the lower field end limit
#*/musr/command globalfield printFieldValueAtPoint 0. 20. -1680.
###################################################################################
######################### P H Y S I C S P R O C E S S E S ##################
###################################################################################
# --- Low Energy (default) ---
/musr/command process addDiscreteProcess gamma G4LowEnergyPhotoElectric
/musr/command process addDiscreteProcess gamma G4LowEnergyCompton
/musr/command process addDiscreteProcess gamma G4LowEnergyGammaConversion
/musr/command process addDiscreteProcess gamma G4LowEnergyRayleigh
/musr/command process addProcess e- G4MultipleScattering -1 1 1
#/musr/command process addDiscreteProcess e- G4CoulombScattering
/musr/command process addProcess e- G4LowEnergyIonisation -1 2 2
/musr/command process addProcess e- G4LowEnergyBremsstrahlung -1 -1 3
/musr/command process addProcess e+ G4MultipleScattering -1 1 1
#/musr/command process addDiscreteProcess e+ G4CoulombScattering
/musr/command process addProcess e+ G4eIonisation -1 2 2
/musr/command process addProcess e+ G4eBremsstrahlung -1 3 3
/musr/command process addProcess e+ G4eplusAnnihilation 0 -1 4
#
# --- High Energy ---
#/musr/command process addDiscreteProcess gamma G4PhotoElectricEffect
#/musr/command process addDiscreteProcess gamma G4ComptonScattering
#/musr/command process addDiscreteProcess gamma G4GammaConversion
#/musr/command process addProcess e- G4MultipleScattering -1 1 1
##/musr/command process addDiscreteProcess e- G4CoulombScattering
#/musr/command process addProcess e- G4eIonisation -1 2 2
#/musr/command process addProcess e- G4eBremsstrahlung -1 3 3
#/musr/command process addProcess e+ G4MultipleScattering -1 1 1
##/musr/command process addDiscreteProcess e+ G4CoulombScattering
#/musr/command process addProcess e+ G4eIonisation -1 2 2
#/musr/command process addProcess e+ G4eBremsstrahlung -1 3 3
#/musr/command process addProcess e+ G4eplusAnnihilation 0 -1 4
#
# --- Penelope ---
#/musr/command process addDiscreteProcess gamma G4PenelopePhotoElectric
#/musr/command process addDiscreteProcess gamma G4PenelopeCompton
#/musr/command process addDiscreteProcess gamma G4PenelopeGammaConversion
#/musr/command process addDiscreteProcess gamma G4PenelopeRayleigh
#/musr/command process addProcess e- G4MultipleScattering -1 1 1
##/musr/command process addDiscreteProcess e- G4CoulombScattering
#/musr/command process addProcess e- G4PenelopeIonisation -1 2 2
#/musr/command process addProcess e- G4PenelopeBremsstrahlung -1 -1 3
#/musr/command process addProcess e+ G4MultipleScattering -1 1 1
##/musr/command process addDiscreteProcess e+ G4CoulombScattering
#/musr/command process addProcess e+ G4PenelopeIonisation, -1 2 2
#/musr/command process addProcess e+ G4PenelopeBremsstrahlung, -1 -1 3
#/musr/command process addProcess e+ G4PenelopeAnnihilation, 0 -1 4
#
# --- Muons ---
/musr/command process addProcess mu+ G4MultipleScattering -1 1 1
#/musr/command process addProcess mu+ MultipleAndCoulombScattering -1 1 1 goulombRegion
#/musr/command process addDiscreteProcess mu+ G4CoulombScattering
/musr/command process addProcess mu+ G4MuIonisation -1 2 2
/musr/command process addProcess mu+ G4MuBremsstrahlung -1 3 3
/musr/command process addProcess mu+ G4MuPairProduction -1 4 4
/musr/command process addProcess mu- G4MultipleScattering -1 1 1
#/musr/command process addDiscreteProcess mu- G4CoulombScattering
/musr/command process addProcess mu- G4MuIonisation -1 2 2
/musr/command process addProcess mu- G4MuBremsstrahlung -1 3 3
/musr/command process addProcess mu- G4MuPairProduction -1 4 4
# --- Muonium ---
/musr/command process addProcess mu+ musrMuFormation -1 -1 2
#cks - the following line not supported yet, has to be tested (at the moment, musrMuScatter is hard wired in the musrPhysicsList.cc):
#/musr/command process addProcess Mu musrMuScatter -1 -1 1
################################################################################################################
# -- Setting simulation PARAMETERS --
################################################################################################################
# Set the overall range cut (default 0.1 mm)
#*/run/setCut 1 mm
# Set the range cut on particular volumes (in mm)
/musr/command SetUserLimits log_CFoil 1e-8
#*/musr/command SetUserLimits log_target 0.01
#*/musr/command SetUserLimits log_targetscint 0.01
#*/musr/command SetUserLimits log_cryostatscint 0.01
# Set particle energy cuts on particular volumes (in MeV)
#/musr/command SetUserMinEkine log_World 0.1
#/musr/command SetUserLimits log_World ustepMax(mm) utrakMax(mm) utimeMax(ns) uekinMin(MeV) urangMin(mm)
/musr/command SetUserLimits log_World -1 -1 -1 1e-7 -1
# Store ALL the events in a ROOT tree or just the interesting ones? (default is true)
#*/musr/command storeOnlyEventsWithHits false
# Set the minimum time separation between two subsequent signals in the same detector (in ns)
/musr/command signalSeparationTime 0.1
# Override runID number
#*/musr/run/runID 21
# Set the frequency of event printing
/musr/run/howOftenToPrintEvent 1000
# RANDOM option choices: (specify the random number generator initialisation)
# 0 ... no initialisation (default)
# 1 ... use actual computer time to initialise now # Pseudo-random numbers
# 2 ... use event number to initialise at the beginning of each event # Reproducible numbers
# 3 ... read in the random no. initial values for each event from a file
/musr/run/randomOption 2
# VISUALIZATION options
# To enable or disable visualization uncomment one of these lines
# To modify visualization options edit the file vis.mac
/vis/disable
#*/control/execute vis.mac
################################################################################################################
# -- Setting PARTICLE GUN parameters --
################################################################################################################
# Default momentum direction: 001, i.e. 0z.
# Default muon spin direction: 100, i.e. 0x.
# Default particle type: mu+ (can be changed to Mu)
# Set particle type
#*/gun/particle Mu
/gun/particle mu+
# Set beam vertex
# CFoil at -1144 mm, acceleration starts at -1154.15 mm
/gun/vertex 0. 0. -1155. mm
# A point-like uniform beam
/gun/vertexsigma -0.1 -0.1 0 mm
# Set beam transverse spread (default GAUSSIAN spread)
# If FWHM = 10 mm ==> sigma = 10/2.354 = 4.2481 mm (last 0 is a dummy value)
# Negative sigma values => random FLAT RECTANGULAR distribution (area 2x.2y)
# Use vertexboundary with (vb < sigma_xy) to obtain a CIRCULAR beam spot
# /gun/vertexsigma 0 0 0 mm ==> Very SLOW with mag. field ON and centered beam
#*/gun/vertexsigma 42.5 42.5 0 mm
/gun/vertexsigma -20 -20 0 mm
/gun/vertexboundary 20 -1e6 1e6 mm
# /gun/vertexboundary: rMaxAllowed, zMinAllowed, zMaxAllowed # Beam AND gating
#*/gun/vertexboundary 7 -1314.4 -1305 mm
# Without restrictions in z, but only on r:
#*/gun/vertexboundary 3 -1e6 1e6 mm
# Set beam momentum (USE only as an ALTERNATIVE to setting energy!)
# /gun/momentum 0 0 29.79 MeV
#*/gun/momentum 0 0 1.8 MeV
# Energy loss at p = 1.2 MeV/c (E = 6.8 keV) => 1.23 +/- 0.2 keV
# Energy loss at p = 1.8 MeV/c (E = 15.3 keV) => 1.25 +/- 0.3 keV
# 1.2 MeV/c -> 6.8 keV, 1.8 MeV/c -> 15.3 keV
# muon rest mass = 105.658 MeV/c2
# Set muon energy before hitting TD; a constant field in front of the C-foil accelerates the muons
# to add 3.73 keV
/gun/kenergy 12.0 keV
# Set beam momentum direction
/gun/direction 0.0 0.0 1.0
# Set muon spin direction
/gun/muonPolarizVector 1 0 0
# Other useful test parameters:
#
# FWHM = 3% ==> sigma = 29.79*0.03/2.354 = 0.37965 MeV/c
#*/gun/momentumsmearing 0.37965 MeV
#---/gun/momentumboundary: pMinAllowed, pMaxAllowed, dummy
#*/gun/momentumboundary 20 40 0 MeV
#---/gun/tilt: xangle, yangle, dummy
#*/gun/tilt 0 0.5 0 deg
#---/gun/tiltsigma: xangleSigma, yangleSigma, dummy (1 degree at 1 m => 17 mm)
#*/gun/tiltsigma 0.2 0.2 0 deg
#*/gun/pitch 0.5 deg
#---/gun/decaytimelimits: decayMin, decayMax, decayTime
#*/gun/decaytimelimits 10400 10420 2197.03 ns
# Selectively inactivate or activate sensitive detectors
#*/hits/inactivate /musr/ScintSD
# Only for code debugging!
#/tracking/verbose 1
# BEAM ON
#*/run/beamOn 1000000
#*/run/beamOn 2
/run/beamOn 1000

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,611 +0,0 @@
301 1 2 1
1 X [LENGU]
2 Y [LENGU]
3 Z [LENGU]
4 HX [FIELU]
5 HZ [FIELU]
6 HMOD [FIELU]
fieldNormalisation 880.169809
0
0.0000000e+00 0 0 0 1.1361444e-03 0
0.0000000e+00 0 20 0 1.1361444e-03 0
1.0000000e+00 0 0 0 1.1362377e-03 0
1.0000000e+00 0 20 0 1.1362377e-03 0
2.0000000e+00 0 0 0 1.1365074e-03 0
2.0000000e+00 0 20 0 1.1365074e-03 0
3.0000000e+00 0 0 0 1.1369226e-03 0
3.0000000e+00 0 20 0 1.1369226e-03 0
4.0000000e+00 0 0 0 1.1374296e-03 0
4.0000000e+00 0 20 0 1.1374296e-03 0
5.0000000e+00 0 0 0 1.1379495e-03 0
5.0000000e+00 0 20 0 1.1379495e-03 0
6.0000000e+00 0 0 0 1.1383740e-03 0
6.0000000e+00 0 20 0 1.1383740e-03 0
7.0000000e+00 0 0 0 1.1385589e-03 0
7.0000000e+00 0 20 0 1.1385589e-03 0
8.0000000e+00 0 0 0 1.1383168e-03 0
8.0000000e+00 0 20 0 1.1383168e-03 0
9.0000000e+00 0 0 0 1.1374066e-03 0
9.0000000e+00 0 20 0 1.1374066e-03 0
1.0000000e+01 0 0 0 1.1355196e-03 0
1.0000000e+01 0 20 0 1.1355196e-03 0
1.1000000e+01 0 0 0 1.1322640e-03 0
1.1000000e+01 0 20 0 1.1322640e-03 0
1.2000000e+01 0 0 0 1.1271451e-03 0
1.2000000e+01 0 20 0 1.1271451e-03 0
1.3000000e+01 0 0 0 1.1195471e-03 0
1.3000000e+01 0 20 0 1.1195471e-03 0
1.4000000e+01 0 0 0 1.1087207e-03 0
1.4000000e+01 0 20 0 1.1087207e-03 0
1.5000000e+01 0 0 0 1.0937932e-03 0
1.5000000e+01 0 20 0 1.0937932e-03 0
1.6000000e+01 0 0 0 1.0738238e-03 0
1.6000000e+01 0 20 0 1.0738238e-03 0
1.7000000e+01 0 0 0 1.0479326e-03 0
1.7000000e+01 0 20 0 1.0479326e-03 0
1.8000000e+01 0 0 0 1.0155087e-03 0
1.8000000e+01 0 20 0 1.0155087e-03 0
1.9000000e+01 0 0 0 9.7642128e-04 0
1.9000000e+01 0 20 0 9.7642128e-04 0
2.0000000e+01 0 0 0 9.3109490e-04 0
2.0000000e+01 0 20 0 9.3109490e-04 0
2.1000000e+01 0 0 0 8.8037814e-04 0
2.1000000e+01 0 20 0 8.8037814e-04 0
2.2000000e+01 0 0 0 8.2530227e-04 0
2.2000000e+01 0 20 0 8.2530227e-04 0
2.3000000e+01 0 0 0 7.6687852e-04 0
2.3000000e+01 0 20 0 7.6687852e-04 0
2.4000000e+01 0 0 0 7.0599560e-04 0
2.4000000e+01 0 20 0 7.0599560e-04 0
2.5000000e+01 0 0 0 6.4339740e-04 0
2.5000000e+01 0 20 0 6.4339740e-04 0
2.6000000e+01 0 0 0 5.7970163e-04 0
2.6000000e+01 0 20 0 5.7970163e-04 0
2.7000000e+01 0 0 0 5.1543274e-04 0
2.7000000e+01 0 20 0 5.1543274e-04 0
2.8000000e+01 0 0 0 4.5105685e-04 0
2.8000000e+01 0 20 0 4.5105685e-04 0
2.9000000e+01 0 0 0 3.8701483e-04 0
2.9000000e+01 0 20 0 3.8701483e-04 0
3.0000000e+01 0 0 0 3.2375422e-04 0
3.0000000e+01 0 20 0 3.2375422e-04 0
3.1000000e+01 0 0 0 2.6176224e-04 0
3.1000000e+01 0 20 0 2.6176224e-04 0
3.2000000e+01 0 0 0 2.0160348e-04 0
3.2000000e+01 0 20 0 2.0160348e-04 0
3.3000000e+01 0 0 0 1.4396412e-04 0
3.3000000e+01 0 20 0 1.4396412e-04 0
3.4000000e+01 0 0 0 8.9697678e-05 0
3.4000000e+01 0 20 0 8.9697678e-05 0
3.5000000e+01 0 0 0 3.9848332e-05 0
3.5000000e+01 0 20 0 3.9848332e-05 0
3.6000000e+01 0 0 0 -4.4041645e-06 0
3.6000000e+01 0 20 0 -4.4041645e-06 0
3.7000000e+01 0 0 0 -4.1948665e-05 0
3.7000000e+01 0 20 0 -4.1948665e-05 0
3.8000000e+01 0 0 0 -7.2089079e-05 0
3.8000000e+01 0 20 0 -7.2089079e-05 0
3.9000000e+01 0 0 0 -9.4844419e-05 0
3.9000000e+01 0 20 0 -9.4844419e-05 0
4.0000000e+01 0 0 0 -1.1095290e-04 0
4.0000000e+01 0 20 0 -1.1095290e-04 0
4.1000000e+01 0 0 0 -1.2157438e-04 0
4.1000000e+01 0 20 0 -1.2157438e-04 0
4.2000000e+01 0 0 0 -1.2793545e-04 0
4.2000000e+01 0 20 0 -1.2793545e-04 0
4.3000000e+01 0 0 0 -1.3111042e-04 0
4.3000000e+01 0 20 0 -1.3111042e-04 0
4.4000000e+01 0 0 0 -1.3195272e-04 0
4.4000000e+01 0 20 0 -1.3195272e-04 0
4.5000000e+01 0 0 0 -1.3110933e-04 0
4.5000000e+01 0 20 0 -1.3110933e-04 0
4.6000000e+01 0 0 0 -1.2906196e-04 0
4.6000000e+01 0 20 0 -1.2906196e-04 0
4.7000000e+01 0 0 0 -1.2616788e-04 0
4.7000000e+01 0 20 0 -1.2616788e-04 0
4.8000000e+01 0 0 0 -1.2269274e-04 0
4.8000000e+01 0 20 0 -1.2269274e-04 0
4.9000000e+01 0 0 0 -1.1883471e-04 0
4.9000000e+01 0 20 0 -1.1883471e-04 0
5.0000000e+01 0 0 0 -1.1474199e-04 0
5.0000000e+01 0 20 0 -1.1474199e-04 0
5.1000000e+01 0 0 0 -1.1052536e-04 0
5.1000000e+01 0 20 0 -1.1052536e-04 0
5.2000000e+01 0 0 0 -1.0626737e-04 0
5.2000000e+01 0 20 0 -1.0626737e-04 0
5.3000000e+01 0 0 0 -1.0202909e-04 0
5.3000000e+01 0 20 0 -1.0202909e-04 0
5.4000000e+01 0 0 0 -9.7855223e-05 0
5.4000000e+01 0 20 0 -9.7855223e-05 0
5.5000000e+01 0 0 0 -9.3777888e-05 0
5.5000000e+01 0 20 0 -9.3777888e-05 0
5.6000000e+01 0 0 0 -8.9819586e-05 0
5.6000000e+01 0 20 0 -8.9819586e-05 0
5.7000000e+01 0 0 0 -8.5995449e-05 0
5.7000000e+01 0 20 0 -8.5995449e-05 0
5.8000000e+01 0 0 0 -8.2314978e-05 0
5.8000000e+01 0 20 0 -8.2314978e-05 0
5.9000000e+01 0 0 0 -7.8783399e-05 0
5.9000000e+01 0 20 0 -7.8783399e-05 0
6.0000000e+01 0 0 0 -7.5402713e-05 0
6.0000000e+01 0 20 0 -7.5402713e-05 0
6.1000000e+01 0 0 0 -7.2172507e-05 0
6.1000000e+01 0 20 0 -7.2172507e-05 0
6.2000000e+01 0 0 0 -6.9090590e-05 0
6.2000000e+01 0 20 0 -6.9090590e-05 0
6.3000000e+01 0 0 0 -6.6153484e-05 0
6.3000000e+01 0 20 0 -6.6153484e-05 0
6.4000000e+01 0 0 0 -6.3356805e-05 0
6.4000000e+01 0 20 0 -6.3356805e-05 0
6.5000000e+01 0 0 0 -6.0695551e-05 0
6.5000000e+01 0 20 0 -6.0695551e-05 0
6.6000000e+01 0 0 0 -5.8164335e-05 0
6.6000000e+01 0 20 0 -5.8164335e-05 0
6.7000000e+01 0 0 0 -5.5757548e-05 0
6.7000000e+01 0 20 0 -5.5757548e-05 0
6.8000000e+01 0 0 0 -5.3469496e-05 0
6.8000000e+01 0 20 0 -5.3469496e-05 0
6.9000000e+01 0 0 0 -5.1294495e-05 0
6.9000000e+01 0 20 0 -5.1294495e-05 0
7.0000000e+01 0 0 0 -4.9226940e-05 0
7.0000000e+01 0 20 0 -4.9226940e-05 0
7.1000000e+01 0 0 0 -4.7261364e-05 0
7.1000000e+01 0 20 0 -4.7261364e-05 0
7.2000000e+01 0 0 0 -4.5392469e-05 0
7.2000000e+01 0 20 0 -4.5392469e-05 0
7.3000000e+01 0 0 0 -4.3615153e-05 0
7.3000000e+01 0 20 0 -4.3615153e-05 0
7.4000000e+01 0 0 0 -4.1924529e-05 0
7.4000000e+01 0 20 0 -4.1924529e-05 0
7.5000000e+01 0 0 0 -4.0315927e-05 0
7.5000000e+01 0 20 0 -4.0315927e-05 0
7.6000000e+01 0 0 0 -3.8784905e-05 0
7.6000000e+01 0 20 0 -3.8784905e-05 0
7.7000000e+01 0 0 0 -3.7327244e-05 0
7.7000000e+01 0 20 0 -3.7327244e-05 0
7.8000000e+01 0 0 0 -3.5938946e-05 0
7.8000000e+01 0 20 0 -3.5938946e-05 0
7.9000000e+01 0 0 0 -3.4616230e-05 0
7.9000000e+01 0 20 0 -3.4616230e-05 0
8.0000000e+01 0 0 0 -3.3355521e-05 0
8.0000000e+01 0 20 0 -3.3355521e-05 0
8.1000000e+01 0 0 0 -3.2153447e-05 0
8.1000000e+01 0 20 0 -3.2153447e-05 0
8.2000000e+01 0 0 0 -3.1006827e-05 0
8.2000000e+01 0 20 0 -3.1006827e-05 0
8.3000000e+01 0 0 0 -2.9912663e-05 0
8.3000000e+01 0 20 0 -2.9912663e-05 0
8.4000000e+01 0 0 0 -2.8868131e-05 0
8.4000000e+01 0 20 0 -2.8868131e-05 0
8.5000000e+01 0 0 0 -2.7870571e-05 0
8.5000000e+01 0 20 0 -2.7870571e-05 0
8.6000000e+01 0 0 0 -2.6917478e-05 0
8.6000000e+01 0 20 0 -2.6917478e-05 0
8.7000000e+01 0 0 0 -2.6006495e-05 0
8.7000000e+01 0 20 0 -2.6006495e-05 0
8.8000000e+01 0 0 0 -2.5135405e-05 0
8.8000000e+01 0 20 0 -2.5135405e-05 0
8.9000000e+01 0 0 0 -2.4302117e-05 0
8.9000000e+01 0 20 0 -2.4302117e-05 0
9.0000000e+01 0 0 0 -2.3504665e-05 0
9.0000000e+01 0 20 0 -2.3504665e-05 0
9.1000000e+01 0 0 0 -2.2741199e-05 0
9.1000000e+01 0 20 0 -2.2741199e-05 0
9.2000000e+01 0 0 0 -2.2009975e-05 0
9.2000000e+01 0 20 0 -2.2009975e-05 0
9.3000000e+01 0 0 0 -2.1309350e-05 0
9.3000000e+01 0 20 0 -2.1309350e-05 0
9.4000000e+01 0 0 0 -2.0637779e-05 0
9.4000000e+01 0 20 0 -2.0637779e-05 0
9.5000000e+01 0 0 0 -1.9993803e-05 0
9.5000000e+01 0 20 0 -1.9993803e-05 0
9.6000000e+01 0 0 0 -1.9376048e-05 0
9.6000000e+01 0 20 0 -1.9376048e-05 0
9.7000000e+01 0 0 0 -1.8783220e-05 0
9.7000000e+01 0 20 0 -1.8783220e-05 0
9.8000000e+01 0 0 0 -1.8214096e-05 0
9.8000000e+01 0 20 0 -1.8214096e-05 0
9.9000000e+01 0 0 0 -1.7667524e-05 0
9.9000000e+01 0 20 0 -1.7667524e-05 0
1.0000000e+02 0 0 0 -1.7142415e-05 0
1.0000000e+02 0 20 0 -1.7142415e-05 0
1.0100000e+02 0 0 0 -1.6637742e-05 0
1.0100000e+02 0 20 0 -1.6637742e-05 0
1.0200000e+02 0 0 0 -1.6152534e-05 0
1.0200000e+02 0 20 0 -1.6152534e-05 0
1.0300000e+02 0 0 0 -1.5685876e-05 0
1.0300000e+02 0 20 0 -1.5685876e-05 0
1.0400000e+02 0 0 0 -1.5236899e-05 0
1.0400000e+02 0 20 0 -1.5236899e-05 0
1.0500000e+02 0 0 0 -1.4804785e-05 0
1.0500000e+02 0 20 0 -1.4804785e-05 0
1.0600000e+02 0 0 0 -1.4388759e-05 0
1.0600000e+02 0 20 0 -1.4388759e-05 0
1.0700000e+02 0 0 0 -1.3988086e-05 0
1.0700000e+02 0 20 0 -1.3988086e-05 0
1.0800000e+02 0 0 0 -1.3602072e-05 0
1.0800000e+02 0 20 0 -1.3602072e-05 0
1.0900000e+02 0 0 0 -1.3230060e-05 0
1.0900000e+02 0 20 0 -1.3230060e-05 0
1.1000000e+02 0 0 0 -1.2871425e-05 0
1.1000000e+02 0 20 0 -1.2871425e-05 0
1.1100000e+02 0 0 0 -1.2525578e-05 0
1.1100000e+02 0 20 0 -1.2525578e-05 0
1.1200000e+02 0 0 0 -1.2191958e-05 0
1.1200000e+02 0 20 0 -1.2191958e-05 0
1.1300000e+02 0 0 0 -1.1870033e-05 0
1.1300000e+02 0 20 0 -1.1870033e-05 0
1.1400000e+02 0 0 0 -1.1559300e-05 0
1.1400000e+02 0 20 0 -1.1559300e-05 0
1.1500000e+02 0 0 0 -1.1259280e-05 0
1.1500000e+02 0 20 0 -1.1259280e-05 0
1.1600000e+02 0 0 0 -1.0969518e-05 0
1.1600000e+02 0 20 0 -1.0969518e-05 0
1.1700000e+02 0 0 0 -1.0689581e-05 0
1.1700000e+02 0 20 0 -1.0689581e-05 0
1.1800000e+02 0 0 0 -1.0419061e-05 0
1.1800000e+02 0 20 0 -1.0419061e-05 0
1.1900000e+02 0 0 0 -1.0157566e-05 0
1.1900000e+02 0 20 0 -1.0157566e-05 0
1.2000000e+02 0 0 0 -9.9047248e-06 0
1.2000000e+02 0 20 0 -9.9047248e-06 0
1.2100000e+02 0 0 0 -9.6601849e-06 0
1.2100000e+02 0 20 0 -9.6601849e-06 0
1.2200000e+02 0 0 0 -9.4236097e-06 0
1.2200000e+02 0 20 0 -9.4236097e-06 0
1.2300000e+02 0 0 0 -9.1946792e-06 0
1.2300000e+02 0 20 0 -9.1946792e-06 0
1.2400000e+02 0 0 0 -8.9730884e-06 0
1.2400000e+02 0 20 0 -8.9730884e-06 0
1.2500000e+02 0 0 0 -8.7585467e-06 0
1.2500000e+02 0 20 0 -8.7585467e-06 0
1.2600000e+02 0 0 0 -8.5507773e-06 0
1.2600000e+02 0 20 0 -8.5507773e-06 0
1.2700000e+02 0 0 0 -8.3495160e-06 0
1.2700000e+02 0 20 0 -8.3495160e-06 0
1.2800000e+02 0 0 0 -8.1545110e-06 0
1.2800000e+02 0 20 0 -8.1545110e-06 0
1.2900000e+02 0 0 0 -7.9655218e-06 0
1.2900000e+02 0 20 0 -7.9655218e-06 0
1.3000000e+02 0 0 0 -7.7823191e-06 0
1.3000000e+02 0 20 0 -7.7823191e-06 0
1.3100000e+02 0 0 0 -7.6046838e-06 0
1.3100000e+02 0 20 0 -7.6046838e-06 0
1.3200000e+02 0 0 0 -7.4324065e-06 0
1.3200000e+02 0 20 0 -7.4324065e-06 0
1.3300000e+02 0 0 0 -7.2652875e-06 0
1.3300000e+02 0 20 0 -7.2652875e-06 0
1.3400000e+02 0 0 0 -7.1031356e-06 0
1.3400000e+02 0 20 0 -7.1031356e-06 0
1.3500000e+02 0 0 0 -6.9457681e-06 0
1.3500000e+02 0 20 0 -6.9457681e-06 0
1.3600000e+02 0 0 0 -6.7930102e-06 0
1.3600000e+02 0 20 0 -6.7930102e-06 0
1.3700000e+02 0 0 0 -6.6446950e-06 0
1.3700000e+02 0 20 0 -6.6446950e-06 0
1.3800000e+02 0 0 0 -6.5006623e-06 0
1.3800000e+02 0 20 0 -6.5006623e-06 0
1.3900000e+02 0 0 0 -6.3607590e-06 0
1.3900000e+02 0 20 0 -6.3607590e-06 0
1.4000000e+02 0 0 0 -6.2248386e-06 0
1.4000000e+02 0 20 0 -6.2248386e-06 0
1.4100000e+02 0 0 0 -6.0927605e-06 0
1.4100000e+02 0 20 0 -6.0927605e-06 0
1.4200000e+02 0 0 0 -5.9643902e-06 0
1.4200000e+02 0 20 0 -5.9643902e-06 0
1.4300000e+02 0 0 0 -5.8395988e-06 0
1.4300000e+02 0 20 0 -5.8395988e-06 0
1.4400000e+02 0 0 0 -5.7182625e-06 0
1.4400000e+02 0 20 0 -5.7182625e-06 0
1.4500000e+02 0 0 0 -5.6002629e-06 0
1.4500000e+02 0 20 0 -5.6002629e-06 0
1.4600000e+02 0 0 0 -5.4854861e-06 0
1.4600000e+02 0 20 0 -5.4854861e-06 0
1.4700000e+02 0 0 0 -5.3738232e-06 0
1.4700000e+02 0 20 0 -5.3738232e-06 0
1.4800000e+02 0 0 0 -5.2651692e-06 0
1.4800000e+02 0 20 0 -5.2651692e-06 0
1.4900000e+02 0 0 0 -5.1594237e-06 0
1.4900000e+02 0 20 0 -5.1594237e-06 0
1.5000000e+02 0 0 0 -5.0564902e-06 0
1.5000000e+02 0 20 0 -5.0564902e-06 0
1.5100000e+02 0 0 0 -4.9562759e-06 0
1.5100000e+02 0 20 0 -4.9562759e-06 0
1.5200000e+02 0 0 0 -4.8586917e-06 0
1.5200000e+02 0 20 0 -4.8586917e-06 0
1.5300000e+02 0 0 0 -4.7636519e-06 0
1.5300000e+02 0 20 0 -4.7636519e-06 0
1.5400000e+02 0 0 0 -4.6710744e-06 0
1.5400000e+02 0 20 0 -4.6710744e-06 0
1.5500000e+02 0 0 0 -4.5808798e-06 0
1.5500000e+02 0 20 0 -4.5808798e-06 0
1.5600000e+02 0 0 0 -4.4929922e-06 0
1.5600000e+02 0 20 0 -4.4929922e-06 0
1.5700000e+02 0 0 0 -4.4073382e-06 0
1.5700000e+02 0 20 0 -4.4073382e-06 0
1.5800000e+02 0 0 0 -4.3238475e-06 0
1.5800000e+02 0 20 0 -4.3238475e-06 0
1.5900000e+02 0 0 0 -4.2424522e-06 0
1.5900000e+02 0 20 0 -4.2424522e-06 0
1.6000000e+02 0 0 0 -4.1630870e-06 0
1.6000000e+02 0 20 0 -4.1630870e-06 0
1.6100000e+02 0 0 0 -4.0856892e-06 0
1.6100000e+02 0 20 0 -4.0856892e-06 0
1.6200000e+02 0 0 0 -4.0101980e-06 0
1.6200000e+02 0 20 0 -4.0101980e-06 0
1.6300000e+02 0 0 0 -3.9365553e-06 0
1.6300000e+02 0 20 0 -3.9365553e-06 0
1.6400000e+02 0 0 0 -3.8647049e-06 0
1.6400000e+02 0 20 0 -3.8647049e-06 0
1.6500000e+02 0 0 0 -3.7945925e-06 0
1.6500000e+02 0 20 0 -3.7945925e-06 0
1.6600000e+02 0 0 0 -3.7261659e-06 0
1.6600000e+02 0 20 0 -3.7261659e-06 0
1.6700000e+02 0 0 0 -3.6593749e-06 0
1.6700000e+02 0 20 0 -3.6593749e-06 0
1.6800000e+02 0 0 0 -3.5941708e-06 0
1.6800000e+02 0 20 0 -3.5941708e-06 0
1.6900000e+02 0 0 0 -3.5305069e-06 0
1.6900000e+02 0 20 0 -3.5305069e-06 0
1.7000000e+02 0 0 0 -3.4683379e-06 0
1.7000000e+02 0 20 0 -3.4683379e-06 0
1.7100000e+02 0 0 0 -3.4076203e-06 0
1.7100000e+02 0 20 0 -3.4076203e-06 0
1.7200000e+02 0 0 0 -3.3483118e-06 0
1.7200000e+02 0 20 0 -3.3483118e-06 0
1.7300000e+02 0 0 0 -3.2903720e-06 0
1.7300000e+02 0 20 0 -3.2903720e-06 0
1.7400000e+02 0 0 0 -3.2337616e-06 0
1.7400000e+02 0 20 0 -3.2337616e-06 0
1.7500000e+02 0 0 0 -3.1784426e-06 0
1.7500000e+02 0 20 0 -3.1784426e-06 0
1.7600000e+02 0 0 0 -3.1243785e-06 0
1.7600000e+02 0 20 0 -3.1243785e-06 0
1.7700000e+02 0 0 0 -3.0715338e-06 0
1.7700000e+02 0 20 0 -3.0715338e-06 0
1.7800000e+02 0 0 0 -3.0198745e-06 0
1.7800000e+02 0 20 0 -3.0198745e-06 0
1.7900000e+02 0 0 0 -2.9693674e-06 0
1.7900000e+02 0 20 0 -2.9693674e-06 0
1.8000000e+02 0 0 0 -2.9199807e-06 0
1.8000000e+02 0 20 0 -2.9199807e-06 0
1.8100000e+02 0 0 0 -2.8716834e-06 0
1.8100000e+02 0 20 0 -2.8716834e-06 0
1.8200000e+02 0 0 0 -2.8244456e-06 0
1.8200000e+02 0 20 0 -2.8244456e-06 0
1.8300000e+02 0 0 0 -2.7782385e-06 0
1.8300000e+02 0 20 0 -2.7782385e-06 0
1.8400000e+02 0 0 0 -2.7330342e-06 0
1.8400000e+02 0 20 0 -2.7330342e-06 0
1.8500000e+02 0 0 0 -2.6888054e-06 0
1.8500000e+02 0 20 0 -2.6888054e-06 0
1.8600000e+02 0 0 0 -2.6455262e-06 0
1.8600000e+02 0 20 0 -2.6455262e-06 0
1.8700000e+02 0 0 0 -2.6031711e-06 0
1.8700000e+02 0 20 0 -2.6031711e-06 0
1.8800000e+02 0 0 0 -2.5617156e-06 0
1.8800000e+02 0 20 0 -2.5617156e-06 0
1.8900000e+02 0 0 0 -2.5211360e-06 0
1.8900000e+02 0 20 0 -2.5211360e-06 0
1.9000000e+02 0 0 0 -2.4814092e-06 0
1.9000000e+02 0 20 0 -2.4814092e-06 0
1.9100000e+02 0 0 0 -2.4425130e-06 0
1.9100000e+02 0 20 0 -2.4425130e-06 0
1.9200000e+02 0 0 0 -2.4044257e-06 0
1.9200000e+02 0 20 0 -2.4044257e-06 0
1.9300000e+02 0 0 0 -2.3671265e-06 0
1.9300000e+02 0 20 0 -2.3671265e-06 0
1.9400000e+02 0 0 0 -2.3305950e-06 0
1.9400000e+02 0 20 0 -2.3305950e-06 0
1.9500000e+02 0 0 0 -2.2948117e-06 0
1.9500000e+02 0 20 0 -2.2948117e-06 0
1.9600000e+02 0 0 0 -2.2597574e-06 0
1.9600000e+02 0 20 0 -2.2597574e-06 0
1.9700000e+02 0 0 0 -2.2254136e-06 0
1.9700000e+02 0 20 0 -2.2254136e-06 0
1.9800000e+02 0 0 0 -2.1917626e-06 0
1.9800000e+02 0 20 0 -2.1917626e-06 0
1.9900000e+02 0 0 0 -2.1587868e-06 0
1.9900000e+02 0 20 0 -2.1587868e-06 0
2.0000000e+02 0 0 0 -2.1264695e-06 0
2.0000000e+02 0 20 0 -2.1264695e-06 0
2.0100000e+02 0 0 0 -2.0947942e-06 0
2.0100000e+02 0 20 0 -2.0947942e-06 0
2.0200000e+02 0 0 0 -2.0637452e-06 0
2.0200000e+02 0 20 0 -2.0637452e-06 0
2.0300000e+02 0 0 0 -2.0333069e-06 0
2.0300000e+02 0 20 0 -2.0333069e-06 0
2.0400000e+02 0 0 0 -2.0034646e-06 0
2.0400000e+02 0 20 0 -2.0034646e-06 0
2.0500000e+02 0 0 0 -1.9742035e-06 0
2.0500000e+02 0 20 0 -1.9742035e-06 0
2.0600000e+02 0 0 0 -1.9455098e-06 0
2.0600000e+02 0 20 0 -1.9455098e-06 0
2.0700000e+02 0 0 0 -1.9173696e-06 0
2.0700000e+02 0 20 0 -1.9173696e-06 0
2.0800000e+02 0 0 0 -1.8897697e-06 0
2.0800000e+02 0 20 0 -1.8897697e-06 0
2.0900000e+02 0 0 0 -1.8626972e-06 0
2.0900000e+02 0 20 0 -1.8626972e-06 0
2.1000000e+02 0 0 0 -1.8361395e-06 0
2.1000000e+02 0 20 0 -1.8361395e-06 0
2.1100000e+02 0 0 0 -1.8100845e-06 0
2.1100000e+02 0 20 0 -1.8100845e-06 0
2.1200000e+02 0 0 0 -1.7845203e-06 0
2.1200000e+02 0 20 0 -1.7845203e-06 0
2.1300000e+02 0 0 0 -1.7594355e-06 0
2.1300000e+02 0 20 0 -1.7594355e-06 0
2.1400000e+02 0 0 0 -1.7348188e-06 0
2.1400000e+02 0 20 0 -1.7348188e-06 0
2.1500000e+02 0 0 0 -1.7106593e-06 0
2.1500000e+02 0 20 0 -1.7106593e-06 0
2.1600000e+02 0 0 0 -1.6869465e-06 0
2.1600000e+02 0 20 0 -1.6869465e-06 0
2.1700000e+02 0 0 0 -1.6636702e-06 0
2.1700000e+02 0 20 0 -1.6636702e-06 0
2.1800000e+02 0 0 0 -1.6408202e-06 0
2.1800000e+02 0 20 0 -1.6408202e-06 0
2.1900000e+02 0 0 0 -1.6183870e-06 0
2.1900000e+02 0 20 0 -1.6183870e-06 0
2.2000000e+02 0 0 0 -1.5963610e-06 0
2.2000000e+02 0 20 0 -1.5963610e-06 0
2.2100000e+02 0 0 0 -1.5747331e-06 0
2.2100000e+02 0 20 0 -1.5747331e-06 0
2.2200000e+02 0 0 0 -1.5534942e-06 0
2.2200000e+02 0 20 0 -1.5534942e-06 0
2.2300000e+02 0 0 0 -1.5326357e-06 0
2.2300000e+02 0 20 0 -1.5326357e-06 0
2.2400000e+02 0 0 0 -1.5121491e-06 0
2.2400000e+02 0 20 0 -1.5121491e-06 0
2.2500000e+02 0 0 0 -1.4920261e-06 0
2.2500000e+02 0 20 0 -1.4920261e-06 0
2.2600000e+02 0 0 0 -1.4722587e-06 0
2.2600000e+02 0 20 0 -1.4722587e-06 0
2.2700000e+02 0 0 0 -1.4528392e-06 0
2.2700000e+02 0 20 0 -1.4528392e-06 0
2.2800000e+02 0 0 0 -1.4337598e-06 0
2.2800000e+02 0 20 0 -1.4337598e-06 0
2.2900000e+02 0 0 0 -1.4150131e-06 0
2.2900000e+02 0 20 0 -1.4150131e-06 0
2.3000000e+02 0 0 0 -1.3965920e-06 0
2.3000000e+02 0 20 0 -1.3965920e-06 0
2.3100000e+02 0 0 0 -1.3784893e-06 0
2.3100000e+02 0 20 0 -1.3784893e-06 0
2.3200000e+02 0 0 0 -1.3606983e-06 0
2.3200000e+02 0 20 0 -1.3606983e-06 0
2.3300000e+02 0 0 0 -1.3432122e-06 0
2.3300000e+02 0 20 0 -1.3432122e-06 0
2.3400000e+02 0 0 0 -1.3260246e-06 0
2.3400000e+02 0 20 0 -1.3260246e-06 0
2.3500000e+02 0 0 0 -1.3091291e-06 0
2.3500000e+02 0 20 0 -1.3091291e-06 0
2.3600000e+02 0 0 0 -1.2925195e-06 0
2.3600000e+02 0 20 0 -1.2925195e-06 0
2.3700000e+02 0 0 0 -1.2761899e-06 0
2.3700000e+02 0 20 0 -1.2761899e-06 0
2.3800000e+02 0 0 0 -1.2601342e-06 0
2.3800000e+02 0 20 0 -1.2601342e-06 0
2.3900000e+02 0 0 0 -1.2443469e-06 0
2.3900000e+02 0 20 0 -1.2443469e-06 0
2.4000000e+02 0 0 0 -1.2288222e-06 0
2.4000000e+02 0 20 0 -1.2288222e-06 0
2.4100000e+02 0 0 0 -1.2135549e-06 0
2.4100000e+02 0 20 0 -1.2135549e-06 0
2.4200000e+02 0 0 0 -1.1985395e-06 0
2.4200000e+02 0 20 0 -1.1985395e-06 0
2.4300000e+02 0 0 0 -1.1837709e-06 0
2.4300000e+02 0 20 0 -1.1837709e-06 0
2.4400000e+02 0 0 0 -1.1692440e-06 0
2.4400000e+02 0 20 0 -1.1692440e-06 0
2.4500000e+02 0 0 0 -1.1549539e-06 0
2.4500000e+02 0 20 0 -1.1549539e-06 0
2.4600000e+02 0 0 0 -1.1408959e-06 0
2.4600000e+02 0 20 0 -1.1408959e-06 0
2.4700000e+02 0 0 0 -1.1270652e-06 0
2.4700000e+02 0 20 0 -1.1270652e-06 0
2.4800000e+02 0 0 0 -1.1134572e-06 0
2.4800000e+02 0 20 0 -1.1134572e-06 0
2.4900000e+02 0 0 0 -1.1000674e-06 0
2.4900000e+02 0 20 0 -1.1000674e-06 0
2.5000000e+02 0 0 0 -1.0868916e-06 0
2.5000000e+02 0 20 0 -1.0868916e-06 0
2.5100000e+02 0 0 0 -1.0739254e-06 0
2.5100000e+02 0 20 0 -1.0739254e-06 0
2.5200000e+02 0 0 0 -1.0611648e-06 0
2.5200000e+02 0 20 0 -1.0611648e-06 0
2.5300000e+02 0 0 0 -1.0486055e-06 0
2.5300000e+02 0 20 0 -1.0486055e-06 0
2.5400000e+02 0 0 0 -1.0362438e-06 0
2.5400000e+02 0 20 0 -1.0362438e-06 0
2.5500000e+02 0 0 0 -1.0240757e-06 0
2.5500000e+02 0 20 0 -1.0240757e-06 0
2.5600000e+02 0 0 0 -1.0120974e-06 0
2.5600000e+02 0 20 0 -1.0120974e-06 0
2.5700000e+02 0 0 0 -1.0003052e-06 0
2.5700000e+02 0 20 0 -1.0003052e-06 0
2.5800000e+02 0 0 0 -9.8869563e-07 0
2.5800000e+02 0 20 0 -9.8869563e-07 0
2.5900000e+02 0 0 0 -9.7726506e-07 0
2.5900000e+02 0 20 0 -9.7726506e-07 0
2.6000000e+02 0 0 0 -9.6601007e-07 0
2.6000000e+02 0 20 0 -9.6601007e-07 0
2.6100000e+02 0 0 0 -9.5492732e-07 0
2.6100000e+02 0 20 0 -9.5492732e-07 0
2.6200000e+02 0 0 0 -9.4401351e-07 0
2.6200000e+02 0 20 0 -9.4401351e-07 0
2.6300000e+02 0 0 0 -9.3326544e-07 0
2.6300000e+02 0 20 0 -9.3326544e-07 0
2.6400000e+02 0 0 0 -9.2267997e-07 0
2.6400000e+02 0 20 0 -9.2267997e-07 0
2.6500000e+02 0 0 0 -9.1225405e-07 0
2.6500000e+02 0 20 0 -9.1225405e-07 0
2.6600000e+02 0 0 0 -9.0198466e-07 0
2.6600000e+02 0 20 0 -9.0198466e-07 0
2.6700000e+02 0 0 0 -8.9186889e-07 0
2.6700000e+02 0 20 0 -8.9186889e-07 0
2.6800000e+02 0 0 0 -8.8190387e-07 0
2.6800000e+02 0 20 0 -8.8190387e-07 0
2.6900000e+02 0 0 0 -8.7208681e-07 0
2.6900000e+02 0 20 0 -8.7208681e-07 0
2.7000000e+02 0 0 0 -8.6241497e-07 0
2.7000000e+02 0 20 0 -8.6241497e-07 0
2.7100000e+02 0 0 0 -8.5288566e-07 0
2.7100000e+02 0 20 0 -8.5288566e-07 0
2.7200000e+02 0 0 0 -8.4349629e-07 0
2.7200000e+02 0 20 0 -8.4349629e-07 0
2.7300000e+02 0 0 0 -8.3424427e-07 0
2.7300000e+02 0 20 0 -8.3424427e-07 0
2.7400000e+02 0 0 0 -8.2512712e-07 0
2.7400000e+02 0 20 0 -8.2512712e-07 0
2.7500000e+02 0 0 0 -8.1614239e-07 0
2.7500000e+02 0 20 0 -8.1614239e-07 0
2.7600000e+02 0 0 0 -8.0728767e-07 0
2.7600000e+02 0 20 0 -8.0728767e-07 0
2.7700000e+02 0 0 0 -7.9856062e-07 0
2.7700000e+02 0 20 0 -7.9856062e-07 0
2.7800000e+02 0 0 0 -7.8995895e-07 0
2.7800000e+02 0 20 0 -7.8995895e-07 0
2.7900000e+02 0 0 0 -7.8148042e-07 0
2.7900000e+02 0 20 0 -7.8148042e-07 0
2.8000000e+02 0 0 0 -7.7312283e-07 0
2.8000000e+02 0 20 0 -7.7312283e-07 0
2.8100000e+02 0 0 0 -7.6488402e-07 0
2.8100000e+02 0 20 0 -7.6488402e-07 0
2.8200000e+02 0 0 0 -7.5676191e-07 0
2.8200000e+02 0 20 0 -7.5676191e-07 0
2.8300000e+02 0 0 0 -7.4875442e-07 0
2.8300000e+02 0 20 0 -7.4875442e-07 0
2.8400000e+02 0 0 0 -7.4085954e-07 0
2.8400000e+02 0 20 0 -7.4085954e-07 0
2.8500000e+02 0 0 0 -7.3307530e-07 0
2.8500000e+02 0 20 0 -7.3307530e-07 0
2.8600000e+02 0 0 0 -7.2539977e-07 0
2.8600000e+02 0 20 0 -7.2539977e-07 0
2.8700000e+02 0 0 0 -7.1783106e-07 0
2.8700000e+02 0 20 0 -7.1783106e-07 0
2.8800000e+02 0 0 0 -7.1036730e-07 0
2.8800000e+02 0 20 0 -7.1036730e-07 0
2.8900000e+02 0 0 0 -7.0300670e-07 0
2.8900000e+02 0 20 0 -7.0300670e-07 0
2.9000000e+02 0 0 0 -6.9574747e-07 0
2.9000000e+02 0 20 0 -6.9574747e-07 0
2.9100000e+02 0 0 0 -6.8858787e-07 0
2.9100000e+02 0 20 0 -6.8858787e-07 0
2.9200000e+02 0 0 0 -6.8152620e-07 0
2.9200000e+02 0 20 0 -6.8152620e-07 0
2.9300000e+02 0 0 0 -6.7456080e-07 0
2.9300000e+02 0 20 0 -6.7456080e-07 0
2.9400000e+02 0 0 0 -6.6769001e-07 0
2.9400000e+02 0 20 0 -6.6769001e-07 0
2.9500000e+02 0 0 0 -6.6091226e-07 0
2.9500000e+02 0 20 0 -6.6091226e-07 0
2.9600000e+02 0 0 0 -6.5422595e-07 0
2.9600000e+02 0 20 0 -6.5422595e-07 0
2.9700000e+02 0 0 0 -6.4762956e-07 0
2.9700000e+02 0 20 0 -6.4762956e-07 0
2.9800000e+02 0 0 0 -6.4112159e-07 0
2.9800000e+02 0 20 0 -6.4112159e-07 0
2.9900000e+02 0 0 0 -6.3470054e-07 0
2.9900000e+02 0 20 0 -6.3470054e-07 0
3.0000000e+02 0 0 0 -6.2836498e-07 0
3.0000000e+02 0 20 0 -6.2836498e-07 0

File diff suppressed because it is too large Load Diff

View File

@ -1,102 +0,0 @@
-------------------- Download musrSim source code from svn
$> cd /tmp
$> mkdir test
$> cd test
$> svn co file:///afs/psi.ch/project/nemu/svn/lem/trunk/simulation/geant4/musrSim musrSim
$> cd musrSim
$> ll
$> ll doc/
-------------------- Compile musrSim
$> cd ..
$> mkdir mSim
$> cd mSim
$> cmake -DGeant4_DIR=/home/install/geant4.9.5/install/lib/Geant4-9.5.0 /tmp/test/musrSim/
$> gmake
-------------------- Prepare and run
$> g495
$> cd /tmp/test/musrSim
$> ll
$> cd run
$> ll
$> ln -s /afs/psi.ch/project/HighFieldMuSR/Magnet/OI-39370/OI_Archiv/Oxford_Instr/9048_2009/x10cm_z2m.table .
$> ln -s /afs/psi.ch/user/s/sedlak/HighFieldMuSR/Davide/TURTLE/Feb2010/FOR077_reggiani_Feb2010.dat .
$> emacs vis_14510.mac &
- show different blocks / commands
$> /tmp/test/mSim/musrSim vis_14510.mac
- show the Dawn output
$> /tmp/test/mSim/musrSim 14510.mac
- discuss the text output
-------------------- Now open the output file in Root:
$> root
root [0] TFile* f=new TFile("data/musr_14510.root")
root [1] .ls
root [2] t1->Print()
root [3] t1->Draw("muIniMomZ")
root [4] t1->Draw("muDecayPosZ")
root [5] t1->Draw("sqrt(muDecayPosX*muDecayPosX+muDecayPosY*muDecayPosY):muDecayPosZ")
root [6] t1->Draw("sqrt(muDecayPosX*muDecayPosX+muDecayPosY*muDecayPosY):muDecayPosZ","muDecayPosZ>-200")
root [7] t1->Draw("det_edep")
root [8] t1->Draw("det_edep","det_ID==102")
root [9] .q
------------------- musrSimAna
$> cd ../musrSimAna/
$> gmake
$> ln -s /tmp/test/musrSim/run/data .
$> emacs 14510b.v1190&
$> ./musrSimAna 14510 14510b nographic
$> cd data
$> ln -s /home/data_sim/hifi/his_14410_14410b.v1190.root .
$> ln -s /home/data_sim/hifi/his_14460_14460a.v1190.root .
$> cd ..
------------------------------
Now open the output file in Root:
$> root
root [0] TFile* f=new TFile("data/his_14510_14510b.v1190.root")
root [1] .ls
root [2] hMuDecayMap_1->Draw() // condition 1 oncePerEvent
root [3] hMuDecayMap_6->Draw() // condition 6 goodEvent_det
root [4] TFile* f=new TFile("data/his_14410_14410b.v1190.root")
root [5] hMuDecayMap_6->Draw() // condition 6 goodEvent_det
root [6] hdet_time10_6->Draw() // condition 6 goodEvent_det
root [7] hdet_time10_11->Draw() // condition 11 goodEvent_F_det
root [8] hdet_time10_13->Draw() // condition 13 goodEvent_U_det
root [9] hdet_time20_6->Draw() // condition 6 goodEvent_det
--> SetOptFit(1111111)
function "[3]*exp(x/2.19703)*(1+[2]*cos(x*[0]+[1]))" was fitted
Asymmetry = 0.42
To study pileup background --> natural decay of muons is required.
This was done in the file 14460:
root [10] TFile* f=new TFile("data/his_14460_14460a.v1190.root")
root [11] hdet_time20_6->Draw() // condition 6 goodEvent_det
--> SetOptFit(1111111)
function "[0]*exp(-x/2.19703)+[1]" was fitted
--> Remember that par0 = 375.8 (Normalisation)
--> Background from the fit: par1/par0 = 4.4 / 375.8 = 1.2%
root [12] hdet_time20_rotref_6->Draw() // condition 6 goodEvent_det
--> SetOptFit(1111111)
function "[2]*cos(x*[0]+[1]" is fitted
--> Asymmetry = 2* par2/Normalisation = 2 * 78.5 / 375.8 = 0.418
2nd way how to extract pileup background:
root [13] hdet_time10_bgr3_6->Draw() // condition 6 goodEvent_det
--> SetOptFit(1111111)
--> background = par0/Normalisation = 4.9 / 375.8 = 1.3%
3rd way how to extract background:
root [14] hdet_time10_bgr1_9->Draw() // condition 9 pileupEvent
--> SetOptFit(1111111)
--> background = par0/Normalisation = 4.5 / 375.8 = 1.2%
Where to the muons and pileup muons stop? :
root [28] humanDecayHistograms_6->Draw() // <--- accepted events
root [29] humanDecayHistograms_9->Draw() // <--- mu1 for pileup events
root [30] humanDecayPileupHistograms_9->Draw() // <--- mu2 for pileup events

Binary file not shown.

View File

@ -31,6 +31,7 @@
#include "F04GlobalField.hh"
#include "musrParameters.hh"
#include "musrErrorMessage.hh"
#include "G4TouchableHistoryHandle.hh"
G4Navigator* F04ElementField::aNavigator;
@ -158,7 +159,7 @@ G4VisAttributes* F04ElementField::getVisAttribute(G4String color)
}
}
if (!p) p = new G4VisAttributes(G4VisAttributes::Invisible);
if (!p) p = new G4VisAttributes(G4VisAttributes::GetInvisible());
p->SetDaughtersInvisible(false);
return p;

View File

@ -50,7 +50,7 @@ F04GlobalField* F04GlobalField::object = 0;
F04GlobalField::F04GlobalField() : G4ElectroMagneticField(),
minStep(0.01*CLHEP::mm), deltaChord(3.0*CLHEP::mm),
deltaOneStep(0.01*CLHEP::mm), deltaIntersection(0.1*CLHEP::mm),
epsMin(2.5e-7*CLHEP::mm), epsMax(0.05*CLHEP::mm),
epsMin(2.5e-7*CLHEP::mm), epsMax(0.01*CLHEP::mm),
fEquation(0), fFieldManager(0),
fFieldPropagator(0), fStepper(0), fChordFinder(0)
// F04GlobalField::F04GlobalField() : G4MagneticField(),

View File

@ -1977,7 +1977,7 @@ void musrDetectorConstruction::SetColourOfLogicalVolume(G4LogicalVolume* pLogVol
else if (strcmp(colour,"gray" )==0) {pLogVol->SetVisAttributes(G4Colour(0.5,0.5,0.5));}
else if (strcmp(colour,"cyan" )==0) {pLogVol->SetVisAttributes(G4Colour(0,1,1));}
else if (strcmp(colour,"magenta")==0) {pLogVol->SetVisAttributes(G4Colour(1,0,1));}
else if (strcmp(colour,"invisible" )==0) {pLogVol->SetVisAttributes(G4VisAttributes::Invisible);}
else if (strcmp(colour,"invisible" )==0) {pLogVol->SetVisAttributes(G4VisAttributes::GetInvisible());}
else if (strcmp(colour,"blue_style")==0) {pLogVol->SetVisAttributes(G4Colour(0.80,0.83,1));}
// else if (strcmp(colour,"lightblue")==0) {pLogVol->SetVisAttributes(G4Colour(0,0.5,1));}

View File

@ -119,6 +119,20 @@ void musrSteppingAction::UserSteppingAction(const G4Step* aStep) {
myRootOutput->htest3->Fill(E);
aTrack->SetTrackStatus(fStopAndKill);
}
// put energy to 0 if muon+ energy is too low in the moderator wires (hack for Geant4 11.1, not sure before it seemed to work without. GJ)
if(aTrack->GetDynamicParticle()->GetDefinition()->GetParticleName() == "mu+" && aTrack->GetVolume()->GetLogicalVolume()->GetName().find("Wire") != std::string::npos){
if(preStepPoint->GetKineticEnergy() < 0.001*CLHEP::electronvolt){
postStepPoint->SetMomentumDirection(G4ThreeVector(0,0,0));
postStepPoint->SetKineticEnergy(0.001*CLHEP::electronvolt); //0 doesn't work. This is the minimum.
//aTrack->SetTrackStatus(fStopAndKill); //not optimal, no decay here
musrErrorMessage::GetInstance()->musrError(WARNING,
"musrSteppingAction: Mu+ has hit Wires in Moderator and wont stop 'wiggling'. Got stopped manually.",true);
}
}
// abort the event if it takes too long to finish (e.g. more than 60 seconds)
if ((time(0) - realTimeWhenThisEventStarted)>musrParameters::maximumTimePerEvent) {
@ -160,7 +174,7 @@ void musrSteppingAction::UserSteppingAction(const G4Step* aStep) {
// There is an example how to delete the track in example/novice/N04.
// It is done in a different way here, because the example/novice/N04 was not doing
// exactly what I wanted.
if((actualVolume(0,8)=="log_kill")||(actualVolume(0,8)=="log_Kill")) {
if((actualVolume.substr(0,8)=="log_kill")||(actualVolume.substr(0,8)=="log_Kill")) {
aTrack->SetTrackStatus(fStopAndKill); // suspend the track
}
if ((p_name=="nu_mu")||(p_name=="anti_nu_mu")||(p_name=="nu_e")||(p_name=="anti_nu_e")) {
@ -390,7 +404,7 @@ void musrSteppingAction::UserSteppingAction(const G4Step* aStep) {
// There is an example how to delete the track in example/novice/N04.
// It is done in a different way here, because the example/novice/N04 was not doing
// exactly what I wanted.
if((actualVolume(0,10)=="log_shield")||(actualVolume(0,10)=="log_Shield")) {
if((actualVolume.substr(0,10)=="log_shield")||(actualVolume.substr(0,10)=="log_Shield")) {
aTrack->SetTrackStatus(fStopAndKill); // suspend the track
}
}