Kamil Sedlak 2009-05-18
This is the first version of the muSR simulation code (musrSim) based on the merged codes of Kamil Sedlak and Toni Shiroka. It should be a running version of the simulation code, however it has not been very well tested, therefore it will probably need some further development.
This commit is contained in:
45
doc/README_notes.txt
Normal file
45
doc/README_notes.txt
Normal file
@ -0,0 +1,45 @@
|
||||
SPECIAL SETTING SPECIFIED IN SOME FILES:
|
||||
|
||||
===========================================================================
|
||||
1) ~/.bashrc file:
|
||||
|
||||
The following lines were added to the ~/.bashrc file:
|
||||
|
||||
export ROOTSYS="/usr/local/root/5.20.00"
|
||||
export PATH=$ROOTSYS/bin:$PATH
|
||||
if [ $LD_LIBRARY_PATH ] ; then
|
||||
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
|
||||
else
|
||||
export LD_LIBRARY_PATH=$ROOTSYS/lib
|
||||
fi
|
||||
if [ $CPPFLAGS ] ; then
|
||||
export CPPLFLAGS=-I$ROOTSYS/include:$CPPFLAGS
|
||||
else
|
||||
export CPPFLAGS=-I$ROOTSYS/include
|
||||
fi
|
||||
source /afs/psi.ch/user/s/sedlak/.alias
|
||||
|
||||
===========================================================================
|
||||
2) /home/geant4/4.9.1.p03/env.sh file:
|
||||
|
||||
Inside the "/home/geant4/4.9.1.p03/env.sh", the following lines were inserted
|
||||
just before the last two lines " PATH=${PATH}:${G4WORKDIR}/bin/${G4SYSTEM} " and
|
||||
" export PATH " :
|
||||
|
||||
if [ $LD_LIBRARY_PATH ] ; then
|
||||
LD_LIBRARY_PATH=${G4LIB}/${G4SYSTEM}:${CLHEP_BASE_DIR}/lib:${LD_LIBRARY_PATH}
|
||||
export LD_LIBRARY_PATH
|
||||
else
|
||||
LD_LIBRARY_PATH=${G4LIB}/${G4SYSTEM}:${CLHEP_BASE_DIR}/lib
|
||||
export LD_LIBRARY_PATH
|
||||
fi
|
||||
echo "On this machine the LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
||||
===========================================================================
|
||||
3) ~/.alias file
|
||||
|
||||
The following alias can be used to set-up the environment variables for Geant4:
|
||||
|
||||
alias g4='export G4WORKDIR="/home/sedlak/bin_4.9.1.p03"; source /home/geant4/4.9.1.p03/env.sh; export G4VRMLFILE_VIEWER="vrmlview"; echo "On this machine the G4VRMLFILE_VIEWER=$G4VRMLFILE_VIEWER"'
|
||||
|
||||
===========================================================================
|
210
doc/README_what_needs_to_be_changed_in_mac_file.txt
Normal file
210
doc/README_what_needs_to_be_changed_in_mac_file.txt
Normal file
@ -0,0 +1,210 @@
|
||||
To migrate the steering (*.mac) file of Toni Shiroka to a stearing file that
|
||||
runs with the new migrated version of "musrSim", do the following changes:
|
||||
|
||||
1) replace all "lem4" by "musr", namely:
|
||||
/lem4/command --> /musr/command
|
||||
lem4/ScintSD --> musr/ScintSD
|
||||
but do not change "lem4" in the name of the field map file, if such file exists (?)
|
||||
|
||||
2) replace all "cones" by "cons" (This respects the naming convention of Geant4 solids "G4cons"):
|
||||
/musr/command construct cones ---> /musr/command construct cons
|
||||
|
||||
3) modify the lines where uniform magnetic field is defined:
|
||||
old: /musr/command globalfield Trigg0_field 0. 0. -1149.15 uniform log_TriggE0 0 0 0 0 0 0.373
|
||||
new: /musr/command globalfield Trigg0_field 45 45 5 uniform 0. 0. -1149.15 log_TriggE0 0 0 0 0 0 0.373
|
||||
(the three coordinates which define the position of the centre of the field are shifted after the
|
||||
keyword "uniform", and the three half-dimensions of the box, in which the field is being defined, are
|
||||
specified before the keyword "uniform". These three coorinates (e.g. 45 45 5) are taken from the
|
||||
definition of the logical volume (e.g. in our example from
|
||||
/musr/command construct box TriggE0 45 45 5 G4_Galactic 0 0 -57.15 log_TriggerV norot dead 630 nofield )
|
||||
|
||||
4) Replace the way how physics processes are defined, i.e.:
|
||||
Add:
|
||||
|
||||
###################################################################################
|
||||
######################### 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
|
||||
|
||||
|
||||
|
||||
And remove the obsolete "/musr/command typeofprocesses" :
|
||||
|
||||
# Set processes from: lowenergy, penelope, coulombAndMultiple (default, Coul. only for CFoil), coulomb (for all, very slow).
|
||||
/musr/command typeofprocesses coulombAndMultiple
|
||||
#*/musr/command typeofprocesses penelope
|
||||
#*/musr/command includeMuoniumProcesses false
|
||||
|
||||
|
||||
|
||||
5) Replace "SetUserMinEkine":
|
||||
|
||||
Old:
|
||||
/musr/command SetUserMinEkine log_World 0.1
|
||||
|
||||
New (and more general):
|
||||
#/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
|
||||
|
||||
|
||||
|
||||
Note: The old command
|
||||
/musr/command SetUserLimits log_CFoil 1e-8
|
||||
should still be OK, but for safety reasons it might be better to replace it by
|
||||
/musr/command SetUserLimits log_CFoil 1e-8 -1 -1 -1 -1
|
||||
|
||||
However!!! - this line was ignored in the old code (as one can see in the text output
|
||||
of the simulation, so perhaps it should be commented out - such a small
|
||||
step is probably danger to use!
|
||||
|
||||
|
||||
6) Add the following lines to anable/disable the Root output variables:
|
||||
###################################################################################
|
||||
######################### R O O T O U T P U T ##############################
|
||||
###################################################################################
|
||||
#/musr/command rootOutput runID off
|
||||
#/musr/command rootOutput eventID off
|
||||
#/musr/command rootOutput weight off
|
||||
#/musr/command rootOutput BFieldAtDecay off
|
||||
#/musr/command rootOutput muIniPosX off
|
||||
#/musr/command rootOutput muIniPosY off
|
||||
#/musr/command rootOutput muIniPosZ off
|
||||
#/musr/command rootOutput muIniMomX off
|
||||
#/musr/command rootOutput muIniMomY off
|
||||
#/musr/command rootOutput muIniMomZ off
|
||||
#/musr/command rootOutput muIniPolX off
|
||||
#/musr/command rootOutput muIniPolY off
|
||||
#/musr/command rootOutput muIniPolZ off
|
||||
#/musr/command rootOutput muDecayDetID off
|
||||
#/musr/command rootOutput muDecayPosX off
|
||||
#/musr/command rootOutput muDecayPosY off
|
||||
#/musr/command rootOutput muDecayPosZ off
|
||||
#/musr/command rootOutput muDecayTime off
|
||||
#/musr/command rootOutput muDecayPolX off
|
||||
#/musr/command rootOutput muDecayPolY off
|
||||
#/musr/command rootOutput muDecayPolZ off
|
||||
#/musr/command rootOutput muTargetTime off
|
||||
#/musr/command rootOutput muTargetPolX off
|
||||
#/musr/command rootOutput muTargetPolY off
|
||||
#/musr/command rootOutput muTargetPolZ off
|
||||
#/musr/command rootOutput muM0Time off
|
||||
#/musr/command rootOutput muM0PolX off
|
||||
#/musr/command rootOutput muM0PolY off
|
||||
#/musr/command rootOutput muM0PolZ off
|
||||
/musr/command rootOutput muM1Time off
|
||||
/musr/command rootOutput muM1PolX off
|
||||
/musr/command rootOutput muM1PolY off
|
||||
/musr/command rootOutput muM1PolZ off
|
||||
/musr/command rootOutput muM2Time off
|
||||
/musr/command rootOutput muM2PolX off
|
||||
/musr/command rootOutput muM2PolY off
|
||||
/musr/command rootOutput muM2PolZ off
|
||||
#/musr/command rootOutput posIniMomX off
|
||||
#/musr/command rootOutput posIniMomY off
|
||||
#/musr/command rootOutput posIniMomZ off
|
||||
#/musr/command rootOutput fieldNomVal off
|
||||
#/musr/command rootOutput det_ID off
|
||||
#/musr/command rootOutput det_edep off
|
||||
#/musr/command rootOutput det_edep_el off
|
||||
#/musr/command rootOutput det_edep_pos off
|
||||
#/musr/command rootOutput det_edep_gam off
|
||||
#/musr/command rootOutput det_edep_mup off
|
||||
#/musr/command rootOutput det_nsteps off
|
||||
#/musr/command rootOutput det_length off
|
||||
#/musr/command rootOutput det_start off
|
||||
#/musr/command rootOutput det_end off
|
||||
#/musr/command rootOutput det_x off
|
||||
#/musr/command rootOutput det_y off
|
||||
#/musr/command rootOutput det_z off
|
||||
#/musr/command rootOutput det_kine off
|
||||
/musr/command rootOutput det_VrtxKine off
|
||||
/musr/command rootOutput det_VrtxX off
|
||||
/musr/command rootOutput det_VrtxY off
|
||||
/musr/command rootOutput det_VrtxZ off
|
||||
/musr/command rootOutput det_VrtxVolID off
|
||||
/musr/command rootOutput det_VrtxProcID off
|
||||
/musr/command rootOutput det_VrtxTrackID off
|
||||
/musr/command rootOutput det_VrtxParticleID off
|
||||
/musr/command rootOutput det_VvvKine off
|
||||
/musr/command rootOutput det_VvvX off
|
||||
/musr/command rootOutput det_VvvY off
|
||||
/musr/command rootOutput det_VvvZ off
|
||||
/musr/command rootOutput det_VvvVolID off
|
||||
/musr/command rootOutput det_VvvProcID off
|
||||
/musr/command rootOutput det_VvvTrackID off
|
||||
/musr/command rootOutput det_VvvParticleID off
|
||||
### Root variables that are not written out by default, but can be switched on:
|
||||
#/musr/command rootOutput fieldIntegralBx on
|
||||
#/musr/command rootOutput fieldIntegralBy on
|
||||
#/musr/command rootOutput fieldIntegralBz on
|
||||
#/musr/command rootOutput fieldIntegralBz1 on
|
||||
#/musr/command rootOutput fieldIntegralBz2 on
|
||||
#/musr/command rootOutput fieldIntegralBz3 on
|
||||
|
||||
|
||||
|
||||
7) Replace the (solid-name) keyword "trd" by "trd90y".
|
||||
|
||||
8) Remove all keywords "nofield" at the end of the commands
|
||||
" /musr/command construct ... " , since this does not have any meaning
|
||||
any more (it had been used before we switched to "GlobalField").
|
||||
|
518
doc/dis04.cls
Normal file
518
doc/dis04.cls
Normal file
@ -0,0 +1,518 @@
|
||||
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
|
||||
\ProvidesPackage{dis04}[2004/01/07 DIS'04 document class]
|
||||
\newif\if@restonecol
|
||||
\newif\if@titlepage
|
||||
%
|
||||
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
|
||||
\DeclareOption{final}{\setlength\overfullrule{0pt}}
|
||||
\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
|
||||
%
|
||||
\ExecuteOptions{a4paper,10pt,twoside,final}
|
||||
\ProcessOptions
|
||||
%
|
||||
%\def\publ{\hss \copyright ~Institute of Experimental Physics SAS, Ko\v sice, Slovakia\hss}
|
||||
\def\publ{\hspace{10cm} }
|
||||
%
|
||||
\renewcommand\normalsize{%
|
||||
\@setfontsize\normalsize\@xpt\@xiipt
|
||||
\abovedisplayskip6\p@\@plus4\p@\@minus2\p@
|
||||
\abovedisplayshortskip\abovedisplayskip
|
||||
\belowdisplayshortskip\abovedisplayshortskip
|
||||
\belowdisplayskip\abovedisplayskip
|
||||
\let\@listi\@listI}
|
||||
\normalsize
|
||||
\newcommand\small{%
|
||||
\@setfontsize\small\@ixpt{11}%
|
||||
\abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
|
||||
\abovedisplayshortskip \z@ \@plus2\p@
|
||||
\belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
|
||||
\def\@listi{\leftmargin\leftmargini
|
||||
\topsep 4\p@ \@plus2\p@ \@minus2\p@
|
||||
\parsep 2\p@ \@plus\p@ \@minus\p@
|
||||
\itemsep \parsep}%
|
||||
\belowdisplayskip \abovedisplayskip
|
||||
}
|
||||
\newcommand\footnotesize{%
|
||||
\@setfontsize\footnotesize\@viiipt{9.5}%
|
||||
\abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
|
||||
\abovedisplayshortskip \z@ \@plus\p@
|
||||
\belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
|
||||
\def\@listi{\leftmargin\leftmargini
|
||||
\topsep 3\p@ \@plus\p@ \@minus\p@
|
||||
\parsep 2\p@ \@plus\p@ \@minus\p@
|
||||
\itemsep \parsep}%
|
||||
\belowdisplayskip \abovedisplayskip
|
||||
}
|
||||
\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
|
||||
\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}
|
||||
\newcommand\large{\@setfontsize\large\@xiipt{14}}
|
||||
\newcommand\Large{\@setfontsize\Large\@xivpt{18}}
|
||||
\newcommand\LARGE{\@setfontsize\LARGE\@xviipt{22}}
|
||||
\newcommand\huge{\@setfontsize\huge\@xxpt{25}}
|
||||
\newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
|
||||
\setlength\parindent{0.25in}
|
||||
\setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
|
||||
\setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
|
||||
\setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
|
||||
%%%%%%
|
||||
%
|
||||
\newdimen\trimheight
|
||||
\newdimen\trimwidth
|
||||
\newdimen\typeheight
|
||||
\newdimen\typewidth
|
||||
\newdimen\tempdimen
|
||||
\newdimen\normaltextheight
|
||||
%
|
||||
|
||||
\trimheight9.75in
|
||||
\addtolength\trimheight{.047in}
|
||||
\trimwidth6.50in
|
||||
%cks \typeheight48.10pc
|
||||
\typeheight60.pc
|
||||
%
|
||||
\setlength\parindent{1.5em}%10\p@
|
||||
\setlength\headheight{6\p@}
|
||||
\setlength\headsep {15pt}%11
|
||||
\setlength\topskip {7\p@}%{10\p@}
|
||||
\setlength\footskip{18pt}
|
||||
\setlength\maxdepth{4\p@}
|
||||
\setlength\@maxdepth\maxdepth
|
||||
%cks \setlength\textwidth{30pc}
|
||||
\setlength\textwidth{38pc}
|
||||
\setlength\textheight\typeheight
|
||||
\advance\textheight-\headheight
|
||||
\advance\textheight-\headsep
|
||||
%\advance\textheight\topskip%Comment
|
||||
\advance\textheight-3pt %comment
|
||||
\setlength\normaltextheight{\textheight}
|
||||
%cks \setlength\oddsidemargin{60pt}%.625in%
|
||||
%cks \setlength\evensidemargin{\trimwidth}
|
||||
\setlength\oddsidemargin{0pt}
|
||||
\setlength\evensidemargin{455pt}
|
||||
\addtolength\evensidemargin{-\textwidth}
|
||||
\addtolength\evensidemargin{-\oddsidemargin}
|
||||
\setlength\marginparwidth{.75in}
|
||||
\setlength\marginparsep{7\p@}
|
||||
\setlength\marginparpush{5\p@}
|
||||
%cks \setlength\topmargin{.65926in}%
|
||||
\setlength\topmargin{0.in}%
|
||||
\setlength\footnotesep{6\p@}%6pt
|
||||
\setlength{\skip\footins}{11\p@ \@plus 5\p@ \@minus 2\p@}
|
||||
\setlength\floatsep {18\p@ \@plus 2\p@ \@minus 2\p@}
|
||||
\setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
|
||||
\setlength\intextsep {18\p@ \@plus 2\p@ \@minus 2\p@}
|
||||
\setlength\dblfloatsep {18\p@ \@plus 2\p@ \@minus 2\p@}
|
||||
\setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
|
||||
\setlength\@fptop{0\p@}
|
||||
\setlength\@fpsep{8\p@ \@plus 2fil}
|
||||
\setlength\@fpbot{0\p@ \@plus 1fil}
|
||||
\setlength\@dblfptop{0\p@ \@plus 1fil}
|
||||
\setlength\@dblfpsep{8\p@ \@plus 2fil}
|
||||
\setlength\@dblfpbot{0\p@ \@plus 1fil}
|
||||
\setlength\partopsep{0\p@}
|
||||
%
|
||||
\setlength\lineskip{1\p@}
|
||||
\setlength\normallineskip{1\p@}%
|
||||
\renewcommand\baselinestretch{}%{}
|
||||
\setlength\parskip{0\p@}
|
||||
\@lowpenalty 51
|
||||
\@medpenalty 151
|
||||
\@highpenalty 301
|
||||
\@beginparpenalty -\@lowpenalty
|
||||
\@endparpenalty -\@lowpenalty
|
||||
\@itempenalty -\@lowpenalty
|
||||
%
|
||||
\def\@listi{\leftmargin\leftmargini
|
||||
\parsep 4\p@ \@plus2\p@ \@minus\p@
|
||||
\topsep 8\p@ \@plus2\p@ \@minus4\p@
|
||||
\itemsep4\p@ \@plus2\p@ \@minus\p@}
|
||||
\let\@listI\@listi
|
||||
\@listi
|
||||
\def\@listii {\leftmargin\leftmarginii
|
||||
\labelwidth\leftmarginii
|
||||
\advance\labelwidth-\labelsep
|
||||
\topsep 4\p@ \@plus2\p@ \@minus\p@
|
||||
\parsep 2\p@ \@plus\p@ \@minus\p@
|
||||
\itemsep \parsep}
|
||||
\def\@listiii{\leftmargin\leftmarginiii
|
||||
\labelwidth\leftmarginiii
|
||||
\advance\labelwidth-\labelsep
|
||||
\topsep 2\p@ \@plus\p@\@minus\p@
|
||||
\parsep \z@
|
||||
\partopsep \p@ \@plus\z@ \@minus\p@
|
||||
\itemsep \topsep}
|
||||
\def\@listiv {\leftmargin\leftmarginiv
|
||||
\labelwidth\leftmarginiv
|
||||
\advance\labelwidth-\labelsep}
|
||||
\def\@listv {\leftmargin\leftmarginv
|
||||
\labelwidth\leftmarginv
|
||||
\advance\labelwidth-\labelsep}
|
||||
\def\@listvi {\leftmargin\leftmarginvi
|
||||
\labelwidth\leftmarginvi
|
||||
\advance\labelwidth-\labelsep}
|
||||
%
|
||||
\setcounter{topnumber}{3}
|
||||
\def\topfraction{.98}
|
||||
\setcounter{bottomnumber}{3}
|
||||
\def\bottomfraction{.98}
|
||||
\setcounter{totalnumber}{6}%4
|
||||
\def\textfraction{.01}
|
||||
\def\floatpagefraction{.98100}
|
||||
\setcounter{dbltopnumber}{2}
|
||||
\def\dbltopfraction{.981}
|
||||
\def\dblfloatpagefraction{.99}
|
||||
%
|
||||
\newcounter {prvastrana}
|
||||
%
|
||||
\def\ps@myheadings{%
|
||||
\def\@oddfoot{\ifnum\c@page=\c@prvastrana{
|
||||
\noindent{\small \publ}\rm\thepage}
|
||||
\else{}\fi}
|
||||
|
||||
\def\@evenfoot{\ifnum\c@page=\c@prvastrana{
|
||||
\noindent\rm\thepage{\small \publ}}
|
||||
\else{}\fi}
|
||||
|
||||
\def\@evenhead{%
|
||||
\ifnum\c@page=\c@prvastrana{%
|
||||
%Proceedings of the DIS'2004,~\v Strbsk\'e Pleso,~Slovakia~p.~\number\c@prvastrana -- \hfill
|
||||
%Proceedings of the DIS'2004,~\v Strbsk\'e Pleso,~Slovakia\hfill
|
||||
Internal PSI draft\hfill
|
||||
}
|
||||
\else{\thepage\hfill{\sl\runauthor}\qquad}\fi}
|
||||
|
||||
\def\@oddhead{%
|
||||
\ifnum\c@page=\c@prvastrana{%
|
||||
%Proceedings of the DIS'2004,~\v Strbsk\'e Pleso,~Slovakia~p.~\number\c@prvastrana -- \hfill
|
||||
%Proceedings of the DIS'2004,~\v Strbsk\'e Pleso,~Slovakia\hfill
|
||||
Internal PSI draft\hfill
|
||||
}
|
||||
\else \qquad{\sl\shorttitle}\hfill\thepage\fi}
|
||||
}
|
||||
%
|
||||
\newcommand\maketitle{\par
|
||||
\begingroup
|
||||
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
|
||||
\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
|
||||
\long\def\@makefntext##1{\parindent 1em\noindent
|
||||
\hb@xt@1.8em{%
|
||||
\hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
|
||||
\if@twocolumn
|
||||
\ifnum \col@number=\@ne
|
||||
\@maketitle
|
||||
\else
|
||||
\twocolumn[\@maketitle]%
|
||||
\fi
|
||||
\else
|
||||
\newpage
|
||||
\global\@topnum\z@ % Prevents figures from going at top of page.
|
||||
\@maketitle
|
||||
\fi
|
||||
% \thispagestyle{plain}
|
||||
\@thanks
|
||||
\endgroup
|
||||
\setcounter{footnote}{0}%
|
||||
\setcounter{prvastrana}{\thepage}
|
||||
\global\let\thanks\relax
|
||||
\global\let\maketitle\relax
|
||||
\global\let\@maketitle\relax
|
||||
\global\let\@thanks\@empty
|
||||
\global\let\@author\@empty
|
||||
\global\let\@date\@empty
|
||||
\global\let\@title\@empty
|
||||
\global\let\title\relax
|
||||
\global\let\author\relax
|
||||
\global\let\date\relax
|
||||
\global\let\and\relax
|
||||
}
|
||||
%
|
||||
\def\title#1{\gdef\@title{\uppercase{#1}}}
|
||||
\def\@title{\@latex@error{No \expand\title given}\@ehc}
|
||||
%%
|
||||
\def\@maketitle{%
|
||||
\newpage
|
||||
\null
|
||||
\vskip 2em%
|
||||
%\vspace*{-14pt}
|
||||
\begin{center}%
|
||||
\let \footnote \thanks
|
||||
{\bf \@title \par}%
|
||||
\vskip 2em%
|
||||
\@aabuffer
|
||||
\end{center}%
|
||||
\par}
|
||||
% \vskip 1.5em}
|
||||
%
|
||||
\def\@aabuffer{}
|
||||
\def\author #1{\expandafter\def\expandafter\@aabuffer\expandafter
|
||||
{\@aabuffer\small\rm\uppercase{#1}\relax\par
|
||||
\vspace*{2pt}}}%\vspace{0.75em}
|
||||
\def\address#1{\expandafter\def\expandafter\@aabuffer\expandafter
|
||||
{\@aabuffer\small\it #1\relax\par
|
||||
\vspace*{10pt}}}
|
||||
%
|
||||
\setcounter{secnumdepth}{2}
|
||||
\newcounter {section}
|
||||
\newcounter {subsection}[section]
|
||||
\renewcommand\thesection {\@arabic\c@section}
|
||||
\renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
|
||||
%
|
||||
\newcommand\section{\@startsection {section}{1}{\z@}%
|
||||
{-3.50ex \@plus -1ex \@minus -.2ex}%
|
||||
{2.3ex \@plus.2ex}%
|
||||
{\rightskip1pc plus1fil\normalfont\normalsize\bfseries}}
|
||||
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
|
||||
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
||||
{1.5ex \@plus .2ex}%
|
||||
{\rightskip1pc plus1fil\normalfont\normalsize\it }}
|
||||
%
|
||||
\setlength\leftmargini {2em}
|
||||
\leftmargin \leftmargini
|
||||
\setlength\leftmarginii {2.2em}
|
||||
\setlength\leftmarginiii {1.87em}
|
||||
\setlength\leftmarginiv {1.7em}
|
||||
\setlength\leftmarginv {.5em}
|
||||
\setlength\leftmarginvi {.5em}
|
||||
\setlength \labelsep {.5em}
|
||||
\setlength \labelwidth{\leftmargini}
|
||||
\addtolength\labelwidth{-\labelsep}
|
||||
\@beginparpenalty -\@lowpenalty
|
||||
\@endparpenalty -\@lowpenalty
|
||||
\@itempenalty -\@lowpenalty
|
||||
\renewcommand\theenumi{\@arabic\c@enumi}
|
||||
\renewcommand\theenumii{\@alph\c@enumii}
|
||||
\renewcommand\theenumiii{\@roman\c@enumiii}
|
||||
\renewcommand\theenumiv{\@Alph\c@enumiv}
|
||||
\newcommand\labelenumi{\theenumi.}
|
||||
\newcommand\labelenumii{(\theenumii)}
|
||||
\newcommand\labelenumiii{\theenumiii.}
|
||||
\newcommand\labelenumiv{\theenumiv.}
|
||||
\renewcommand\p@enumii{\theenumi}
|
||||
\renewcommand\p@enumiii{\theenumi(\theenumii)}
|
||||
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
|
||||
\newcommand\labelitemi{$\m@th\bullet$}
|
||||
\newcommand\labelitemii{\normalfont\bfseries --}
|
||||
\newcommand\labelitemiii{$\m@th\ast$}
|
||||
\newcommand\labelitemiv{$\m@th\cdot$}
|
||||
\newenvironment{description}
|
||||
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
|
||||
\let\makelabel\descriptionlabel}}
|
||||
{\endlist}
|
||||
\newcommand*\descriptionlabel[1]{\hspace\labelsep
|
||||
\normalfont\bfseries #1}
|
||||
%
|
||||
|
||||
\def\abstracts#1{
|
||||
\begin{center}
|
||||
{\begin{minipage}{4.2truein}
|
||||
\footnotesize
|
||||
\parindent=0pt #1\par
|
||||
\end{minipage}}\end{center}
|
||||
\vskip 2em \par}
|
||||
|
||||
\newenvironment{quotation}
|
||||
{\list{}{\listparindent 1.5em%
|
||||
\itemindent \listparindent
|
||||
\rightmargin \leftmargin
|
||||
\parsep \z@ \@plus\p@}%
|
||||
\item\relax}
|
||||
{\endlist}
|
||||
%
|
||||
\newenvironment{quote}
|
||||
{\list{}{\rightmargin\leftmargin}%
|
||||
\item\relax}
|
||||
{\endlist}
|
||||
%
|
||||
%FOLLOWING THREE COMMANDS ARE FOR `LIST' COMMAND.
|
||||
\topsep=0in
|
||||
\parsep=0in
|
||||
\itemsep=0in
|
||||
%
|
||||
\newcounter{arabiclistc}
|
||||
\newenvironment{arabiclist}
|
||||
{\setcounter{arabiclistc}{0}
|
||||
\begin{list}{\arabic{arabiclistc}}
|
||||
{\usecounter{arabiclistc}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\itemsep}{0pt}}}{\end{list}}
|
||||
%
|
||||
%ACKNOWLEDGEMENT: this portion is from John Hershberger
|
||||
%
|
||||
\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout
|
||||
{\string\citation{#2}}\fi
|
||||
\def\@citea{}\@cite{\@for\@citeb:=#2\do
|
||||
{\@citea\def\@citea{,}\@ifundefined
|
||||
{b@\@citeb}{{\bf ?}\@warning
|
||||
{Citation `\@citeb' on page \thepage \space undefined}}
|
||||
{\csname b@\@citeb\endcsname}}}{#1}}
|
||||
%
|
||||
\newif\if@cghi
|
||||
\def\cite{\@cghitrue\@ifnextchar [{\@tempswatrue
|
||||
\@citex}{\@tempswafalse\@citex[]}}
|
||||
\def\citelow{\@cghifalse\@ifnextchar [{\@tempswatrue
|
||||
\@citex}{\@tempswafalse\@citex[]}}
|
||||
%\def\@cite#1#2{{$^{#1}$\if@tempswa\typeout
|
||||
\def\@cite#1#2{{[#1]\if@tempswa\typeout
|
||||
{Warning: optional citation argument ignored: `#2'} \fi}}
|
||||
\newcommand{\citeup}{\cite}
|
||||
%
|
||||
\newcommand\appendix{\par
|
||||
\setcounter{section}{0}%
|
||||
\setcounter{subsection}{0}%
|
||||
\renewcommand\thesection{\@Alph\c@section}
|
||||
\section*{\appendixname}}
|
||||
%
|
||||
\setlength\arraycolsep{1.5\p@}%5pt
|
||||
\setlength\tabcolsep{6\p@}
|
||||
\setlength\arrayrulewidth{.4\p@}
|
||||
\setlength\doublerulesep{2\p@}
|
||||
\setlength\tabbingsep{\labelsep}
|
||||
\skip\@mpfootins = \skip\footins
|
||||
\setlength\fboxsep{3\p@}
|
||||
\setlength\fboxrule{.4\p@}
|
||||
\renewcommand\theequation{\@arabic\c@equation}
|
||||
%%
|
||||
\InputIfFileExists{psfig.sty}{}{}
|
||||
\InputIfFileExists{epsf.sty}{}{}
|
||||
\InputIfFileExists{epsfsafe.tex}{}{}
|
||||
\InputIfFileExists{epsfig.sty}{}{}
|
||||
%
|
||||
\newcounter{figure}
|
||||
\renewcommand\thefigure{\@arabic\c@figure}
|
||||
\def\fps@figure{tbp}
|
||||
\def\ftype@figure{1}
|
||||
\def\ext@figure{lof}
|
||||
\def\fnum@figure{\figurename~\thefigure}
|
||||
\newenvironment{figure}
|
||||
{\@float{figure}}
|
||||
{\end@float}
|
||||
\newenvironment{figure*}
|
||||
{\@dblfloat{figure}}
|
||||
{\end@dblfloat}
|
||||
%
|
||||
\newcounter{table}
|
||||
\renewcommand\thetable{\@arabic\c@table}
|
||||
\def\fps@table{tbp}
|
||||
\def\ftype@table{2}
|
||||
\def\ext@table{lot}
|
||||
\def\fnum@table{\tablename~\thetable}
|
||||
\newenvironment{table}
|
||||
{\@float{table}}
|
||||
{\end@float}
|
||||
\newenvironment{table*}
|
||||
{\@dblfloat{table}}
|
||||
{\end@dblfloat}
|
||||
%
|
||||
\newlength\abovecaptionskip
|
||||
\newlength\belowcaptionskip
|
||||
\setlength\abovecaptionskip{10\p@}
|
||||
\setlength\belowcaptionskip{6\p@}
|
||||
\def\captionfont{\normalfont\footnotesize{}}
|
||||
\long\def\@makecaption#1#2{%
|
||||
\captionfont
|
||||
\vskip\abovecaptionskip
|
||||
\sbox\@tempboxa{#1.\hskip.5em#2}%
|
||||
\ifdim \wd\@tempboxa >\hsize
|
||||
\noindent #1.\hskip.5em#2\par
|
||||
\else
|
||||
\global \@minipagefalse
|
||||
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
|
||||
\fi
|
||||
\vskip\belowcaptionskip}
|
||||
%
|
||||
\def\figurebox#1#2#3{%
|
||||
\def\arg{#3}%
|
||||
\ifx\arg\empty
|
||||
{\hfill\vbox{\hsize#2\hrule\hbox to #2{\vrule\hfill\vbox to #1{\hsize#2\vfill}\vrule}\hrule}\hfill}%
|
||||
\else
|
||||
{\hfill\epsfbox{#3}\hfill}%
|
||||
\fi}
|
||||
%
|
||||
\def\@figurecaption#1#2{\unskip\vskip10pt{#1.\hskip.5em#2\par}}
|
||||
%
|
||||
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
|
||||
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
|
||||
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
|
||||
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
|
||||
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
|
||||
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
|
||||
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
|
||||
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
|
||||
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
|
||||
\newcommand\@pnumwidth{1.55em}
|
||||
\newcommand\@tocrmarg{2.55em}
|
||||
\newcommand\@dotsep{4.5}
|
||||
%
|
||||
\newenvironment{thebibliography}[1]
|
||||
{\section*{\refname}
|
||||
\begin{list}{\arabic{enumi}.}
|
||||
{\usecounter{enumi}\setlength{\parsep}{0pt}
|
||||
\setlength{\itemsep}{0pt} \settowidth
|
||||
{\labelwidth}{#1.}\sloppy}}{\end{list}}
|
||||
%%
|
||||
\newenvironment{theindex}
|
||||
{\if@twocolumn
|
||||
\@restonecolfalse
|
||||
\else
|
||||
\@restonecoltrue
|
||||
\fi
|
||||
\columnseprule \z@
|
||||
\columnsep 35\p@
|
||||
\twocolumn[\section*{\indexname}]%
|
||||
\@mkboth{\MakeUppercase\indexname}%
|
||||
{\MakeUppercase\indexname}%
|
||||
\thispagestyle{plain}\parindent\z@
|
||||
\parskip\z@ \@plus .3\p@\relax
|
||||
\let\item\@idxitem}
|
||||
{\if@restonecol\onecolumn\else\clearpage\fi}
|
||||
\newcommand\@idxitem{\par\hangindent 40\p@}
|
||||
\newcommand\subitem{\@idxitem \hspace*{20\p@}}
|
||||
\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
|
||||
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
|
||||
%
|
||||
\renewcommand\footnoterule{%
|
||||
\kern-3\p@
|
||||
\hrule\@width.4\columnwidth
|
||||
\kern2.6\p@}
|
||||
\newcommand\@makefntext[1]{%
|
||||
\parindent 1em%
|
||||
\noindent
|
||||
\@makefnmark#1}
|
||||
%
|
||||
\def\thefootnote{\alph{footnote}}
|
||||
\def\@makefnmark{{$^{\@thefnmark}$}}
|
||||
%
|
||||
\newcommand\contentsname{Contents}
|
||||
\newcommand\listfigurename{List of Figures}
|
||||
\newcommand\listtablename{List of Tables}
|
||||
\newcommand\refname{References}
|
||||
\newcommand\indexname{Index}
|
||||
\newcommand\figurename{Figure}
|
||||
\newcommand\tablename{Table}
|
||||
\newcommand\partname{Part}
|
||||
\newcommand\appendixname{Appendix}
|
||||
\newcommand\abstractname{Abstract}
|
||||
%
|
||||
%
|
||||
\bibliographystyle{unsrt}
|
||||
\arraycolsep1.5pt
|
||||
%
|
||||
%%%%%%%%%%%%%%%%
|
||||
%
|
||||
\setlength\columnsep{0.25in}
|
||||
\setlength\columnseprule{0\p@}
|
||||
|
||||
\pagestyle{myheadings}
|
||||
\pagenumbering{arabic}
|
||||
\flushbottom
|
||||
\def\sloppy{\tolerance=100000\hfuzz=\maxdimen\vfuzz=\maxdimen}
|
||||
\vbadness=12000
|
||||
\hbadness=12000
|
||||
\sloppy
|
||||
\onecolumn
|
||||
\endinput
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
|
BIN
doc/musrSim.pdf
Normal file
BIN
doc/musrSim.pdf
Normal file
Binary file not shown.
469
doc/musrSim.tex
Normal file
469
doc/musrSim.tex
Normal file
@ -0,0 +1,469 @@
|
||||
\documentclass[twoside]{dis04}
|
||||
%\def\runauthor{Kamil Sedl\'{a}k}
|
||||
\def\runauthor{PSI}
|
||||
% for the H1 collaboration}
|
||||
\def\shorttitle{musrSim}
|
||||
\begin{document}
|
||||
|
||||
%\newcommand{\xgmy}{\ensuremath{x^{\mathrm{jets}}_\gamma} }
|
||||
%\newcommand{\GeV}{\ensuremath{\mathrm{GeV}} }
|
||||
%\newcommand{\pb}{\ensuremath{\mathrm{pb}} }
|
||||
%\newcommand{\gevsq}{\ensuremath{\mathrm{GeV}^2} }
|
||||
%\newcommand{\Etone}{\ensuremath{E^*_{T\, 1}} }
|
||||
%\newcommand{\Ettwo}{\ensuremath{E^*_{T\, 2}} }
|
||||
%\newcommand{\Etmy}{\ensuremath{E^*_T} }
|
||||
%\newcommand{\etaone}{\ensuremath{\eta^*_{1}} }
|
||||
%\newcommand{\etatwo}{\ensuremath{\eta^*_{2}} }
|
||||
%\newcommand{\etamy}{\ensuremath{\eta^*} }
|
||||
%\newcommand{\ycut}{\ensuremath{y_c} }
|
||||
\newcommand{\musr}{\ensuremath{\mu}SR}
|
||||
|
||||
\title{Manual of musrSim}
|
||||
%\title{GEANT Simulation Program for the
|
||||
%$\mathbf{\mu}$SR Instruments}
|
||||
|
||||
\author{Kamil Sedl\'ak and Toni Shiroka PSI}
|
||||
|
||||
%\address{{\rm (on behalf of the H1 collaboration)}\\
|
||||
%Institute of Physics AS\,CR\\
|
||||
%%Academy of Sciences of the Czech Republic
|
||||
%Na Slovance 2, 182 21 Praha 8, Czech Republic\\
|
||||
%E-mail: ksedlak@fzu.cz}
|
||||
|
||||
\maketitle
|
||||
|
||||
\abstracts{
|
||||
The program ``musrSim'' is a simulation program based on Geant4
|
||||
optimised for the $\mu$SR instruments.
|
||||
This document describes some of the commands used in the user macros
|
||||
of the simulation program for the $\mu$SR instruments based on the {\sc
|
||||
Geant4}. The root output variables are also described.
|
||||
}
|
||||
|
||||
|
||||
\section{Initial muon parameters}
|
||||
|
||||
\begin{description}
|
||||
\item{\bf /gun/vertex \emph{x0} \emph{y0} \emph{z0} \emph{unit}}\\
|
||||
(default: /gun/vertex 0 0 -100 mm) \\
|
||||
Set mean values of the $x$, $y$ and $z$ coordinates of the generated particles (muons).
|
||||
The smearing around these mean values instead is set by /gun/vertexsigma and
|
||||
restricted by /gun/vertexboundary (see below).\\
|
||||
(Applicable also to TURTLE input).
|
||||
|
||||
\item{\bf /gun/vertexsigma \emph{xSigma} \emph{ySigma} \emph{zSigma} \emph{unit}}\\
|
||||
(default: /gun/vertexsigma 0 0 0 mm) \\
|
||||
If {\it xSigma} $>0$ ... set $\sigma$, i.e. the standard deviation (RMS), of the $x$ coordinate
|
||||
of the generated particles (muons) to $\sigma=xSigma$. The $x$ coordinate of the initial
|
||||
muon is then generated according to the Gaussian distribution with the mean value of $x0$
|
||||
and the standard deviation of {\it xSigma}. \\
|
||||
If {\it xSigma} $<0$ ... the $x$ coordinate of the initial
|
||||
muon is generated {\bf uniformly} in the interval of ($x0-$ {\it xSigma}, $x0+$ {\it xSigma}).\\
|
||||
If {\it xSigma} $= 0$ ... no smearing on the $x$ coordinate is applied.\\
|
||||
Similar is true for {\it ySigma} and {\it zSigma}. \\
|
||||
This variables are ignored when TURTLE input is requested.
|
||||
|
||||
\item{\bf /gun/vertexboundary \emph{R\_max} \emph{z\_min} \emph{z\_max} \emph{unit}}\\
|
||||
Set maximum allowed radius, and minimum and maximum z coordinate of the generated particles (muons).
|
||||
This command might be useful especially if the user wants to restrict the
|
||||
area, in which initial particles are created, e.g.\ to force the initial muons
|
||||
to be created inside the beam pipe.
|
||||
|
||||
If the particles (muons) are read in from an external TURTLE file,
|
||||
only the restriction on the maximum radius \emph{R\_max}
|
||||
is applied on the initial particles, while \emph{z\_min} and \emph{z\_max} are ignored.
|
||||
|
||||
\item{\bf /gun/kenergy \emph{kineticEnergy} \emph{unit}}\\
|
||||
Set the mean kinetic energy of the initial particles (muons).
|
||||
|
||||
\item{\bf /gun/momentum \emph{momentum} \emph{unit}}\\
|
||||
Set the mean momentum of the initial particles (muons).
|
||||
|
||||
\item{\bf /gun/momentumsmearing \emph{momentumSigma} \emph{unit}}\\
|
||||
Set $\sigma$, i.e. the standard deviation (RMS), of the momentum spread, which
|
||||
is aplied randomly to each generated initial particle (muon). It is the magnitude
|
||||
of the momentum, which is smeared. \\
|
||||
(Ignored by the TURTLE input. However,
|
||||
a similar command ``/gun/turtleMomentumBite'' can be used for the TURTLE input file.)
|
||||
|
||||
\item{\bf /gun/momentumboundary \emph{p\_min} \emph{p\_max} \emph{dummy} \emph{unit}}\\
|
||||
Set a boundary for the minimum and maximum momentum of the initial particles (muons).
|
||||
The third argument \emph{dummy} is ignored.\\
|
||||
(Presently ignored by the TURTLE input).
|
||||
|
||||
\item{\bf /gun/tilt \emph{xangle0} \emph{yangle0} \emph{dummy} \emph{unit}}\\
|
||||
The ``beam tilt'' is understood as a constant angle tilt that is applied to
|
||||
all initial particles (muons) regardless on their distance from the centre of the beam.\\
|
||||
(Applicable also to TURTLE input).
|
||||
|
||||
\item{\bf /gun/tiltsigma \emph{xangleSigma} \emph{yangleSigma} \emph{dummy} \emph{unit}}\\
|
||||
Gaussian smearing of the tilt angle.\\
|
||||
(Presently ignored by the TURTLE input).
|
||||
|
||||
\item{\bf /gun/pitch \emph{pitch} \emph{unit}}\\
|
||||
The ``beam pitch'' is understood as a variable angle applied to the initial particles
|
||||
(muons), which is directly proportional to the distance from the beam axis.
|
||||
The particles closer to the beam axis become smaller pitch than particles further away
|
||||
from the beam axis.
|
||||
The angle given as \emph{pitch} will be applied to a particle generated 1\,mm away from the
|
||||
beam centre, i.e. the particle generated 7\,mm away from the beam axis will be assigned
|
||||
the angle of $7\cdot pitch$.
|
||||
The pitch allows the user to focus or defocuse the initial particle
|
||||
beam. Particles will be focused for positive pitch and defocused for the negative pitch.\\
|
||||
(Applicable also to TURTLE input).
|
||||
|
||||
\item{\bf /gun/muonPolarizVector \emph{xpolaris} \emph{ypolaris} \emph{zpolaris}}\\
|
||||
Set polarisation of the initial particle (muon) in a form of a vector
|
||||
$P=(xpolaris,ypolaris,zpolaris)$. The polarisation vector does not have to be normalised,
|
||||
the normalisation will be done internally by the program.
|
||||
However note that if the magnitude of P is set to less than 1e-8, the user can
|
||||
achieve an unpolarised muon beam. See the source code of musrPrimaryGeneratorAction.cc
|
||||
if you need to use unpolarised beam by this parameter, because there is some trick
|
||||
based on the magnitude of P.\\
|
||||
(Applicable also to TURTLE input).
|
||||
|
||||
\item{\bf /gun/muonPolarizFraction \emph{polarisFraction}}\\
|
||||
Set the fraction of the muon polarisation. The variable \emph{polarisFraction}
|
||||
has to be set in the range of -1 to 1. \\
|
||||
If \emph{polarisFraction} is set to 1, all muons are polarised in the direction
|
||||
of polarisation vector defined by ``/gun/muonPolarizVector''.\\
|
||||
If \emph{polarisFraction} is set to 0, half of the muons are polarised in the direction
|
||||
of polarisation vector, the second half is polarised in the oposite dirrection, so
|
||||
in the end the muon beam should act as unpolarised.\\
|
||||
If \emph{polarisFraction} is set to -1, all muons are polarised in the direction
|
||||
oposite to the polarisation vector.\\
|
||||
{\bf If \emph{polarisFraction} is set to 0.9, then 95\% of the muons is polarised
|
||||
in in the direction of polarisation vector, and 5\% of them is polarised in the
|
||||
oposite dirrection!}.\\
|
||||
{\bf This command is ignored if magnitude of polarisation vector defined by
|
||||
``/gun/muonPolarizVector'' is smaller than 1e-8!} \\
|
||||
(Applicable also to TURTLE input).
|
||||
|
||||
\item{\bf /gun/decaytimelimits \emph{muDecayTimeMin} \emph{muDecayTimeMax} \emph{muMeanLife} \emph{unit}}\\
|
||||
(default: /gun/decaytimelimits $-1$ $-1$ 2197.03\,ns ) \\
|
||||
If {\it muDecayTimeMax} is less or equal to zero, this command is ignored,
|
||||
and the muon decay time is set internally by {\sc Geant4}.
|
||||
Otherwise the muon will be forced to decay within a time interval given by
|
||||
{\it muDecayTimeMin} and {\it muDecayTimeMax}, and the mean muon lifetime will
|
||||
be set to {\it muMeanLife}. In such case {\it muDecayTimeMin}
|
||||
has to be equal or larger than 0 and {\it muDecayTimeMax} has to be
|
||||
larger {\bf or equal} to {\it muDecayTimeMin}.\\
|
||||
(Applicable also to TURTLE input).
|
||||
|
||||
\item{\bf /gun/turtlefilename \emph{turtleFileName}}\\
|
||||
Set the filename of the TURTLE input file. If this varialble is set, TURTLE file
|
||||
will be used to initiate muons. Otherwise the mouns would be generated randomly.
|
||||
|
||||
\item{\bf /gun/turtleZ0position \emph{z0\_InitialTurtle} \emph{unit}}\\
|
||||
Set the z-position which has been used to generate the TURTLE file.\\
|
||||
If this value differes from the $z0$ value of the ``/gun/vertex'' command,
|
||||
than the particle initial position is extrapolated from $z0\_InitialTurtle$
|
||||
to the point corresponding to $z0$, using the direction of its momenta.\\
|
||||
MORE DETAILS:\\
|
||||
When running TURTLE (e.g. when generating the TURTLE file using the TURTLE program),
|
||||
the user has to specify the $z$ position, at which the TURTLE particles (muons) would be exported.
|
||||
Sometimes this $z$ position does not correspond to the point of origin of the musrSim
|
||||
geometry. In such case, the variable \emph{z0\_InitialTurtle} should be set to the
|
||||
value, that in musrSim coordinate system corresponds to the point, at which the TURTLE
|
||||
file was exported. For example -- if the TURTLE file was exported just after the last
|
||||
quadrupole of a beam-pipe, and in the simulation the edge of the last quadrupole corresponds
|
||||
to 100\,cm, than the \emph{z0\_InitialTurtle} should be also set to 100\,cm.\\
|
||||
|
||||
\item{\bf /gun/turtleMomentumBite \emph{turtleMomentumP0} \emph{turtleSmearingFactor} \emph{dummy} }\\
|
||||
Modify the smearing of the momentum bite specified in the TURTLE input file.
|
||||
Normally the muon momentum is defined already in the turtle input file. This command allows the user
|
||||
to modify the momentum smearing (momentum bite) of the muon beam.
|
||||
The variable \emph{turtleMomentumP0} will be taken as the mean momentum (in MeV/c), around which
|
||||
the momentum will be increased/decreased. It does not have to be the real mean value of the initial muon momentum distribution.
|
||||
The variable \emph{turtleSmearingFactor} is the smearing factor in per cent, by which the momentum bite
|
||||
will be increased/decreased around the \emph{turtleMomentumP0}. The following equation is used to change the
|
||||
muon momentum: $p^{new}$ = {\it turtleMomentumP0} - ({\it turtleMomentumP0}-$p^{TURTLE}$)$\cdot$0.01$\cdot${\it turtleSmearingFactor}.\\
|
||||
This means that:\\
|
||||
{\it turtleSmearingFactor} = 100 ... the muon beam momentum will not be modified.\\
|
||||
{\it turtleSmearingFactor} = 0 ~~... the muon beam momentum will be set to the constant value of {\it turtleMomentumP0}.\\
|
||||
{\it turtleSmearingFactor} = 200 ... the muon beam will have two times broader distribution compared to the original TURTLE file.
|
||||
|
||||
\item{\bf /gun/turtleFirstEventNr \emph{lineNumberOfTurtleFile} }\\
|
||||
|
||||
\end{description}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Detector construction}
|
||||
|
||||
\begin{description}
|
||||
%
|
||||
\item{\bf /musr/command rotation \emph{matrixName} $\alpha$ $\beta$ $\gamma$} \\
|
||||
{\bf /musr/command rotation \emph{matrixName} \emph{vx} \emph{vy} \emph{vz} \emph{angle}}\\
|
||||
These commands define a rotation matrix of the name ``matrixName'' that can be used later on
|
||||
during the definition of the detector geometry (see command ``/musr/command construct'').
|
||||
It can be defined either by the Euler angles (if there are three float parameters behind the
|
||||
\emph{matrixName}) or by the vector \emph{(vx,vy,vz)} and an \emph{angle} of rotation around this
|
||||
vector (if the fourth float parameter behind the \emph{matrixName} is non-zero).
|
||||
All angles are specified in degrees.
|
||||
%
|
||||
\item{\bf /musr/command construct \emph{solid}=string \emph{name}=string \emph{dimensions}=float ... \emph{material}=string
|
||||
\emph{x}=float \emph{y}=float \emph{z}=float \emph{motherVolume}=string \emph{rotationMatrix}=string
|
||||
\emph{sensitiveClass}=string \emph{idNumber}=int }\\
|
||||
This command defines a volume in {\sc Geant4} (It comprises three steps of {\sc Geant4}: defines a solid,
|
||||
logical volume and physical volume. More details have to be found in {\sc Geant4} manual). \\
|
||||
\begin{itemize}
|
||||
\item \emph{solid} can be one of the G4VSolid.cc particular types, presently ``tubs'', ``box'', ``sphere'',
|
||||
or it can be one of the specifically implemented solids by our program as ``uprofile''
|
||||
(an U-profiled bar), ``alcSupportPlate'' (shape specific to ALC support plate), ``tubsbox''
|
||||
(a tube with a rectangular hole along its axis) and "tubsboxsegm"
|
||||
(a volume that looks like an intersection of tube and box). Not all G4VSolids are
|
||||
presently supported, but it is relatively easy to implement a new kind of solids
|
||||
in the musrDetectorConstruction.cc class.
|
||||
\item \emph{name} stands for the name of the volume. As the ``/musr/command construct'' construct
|
||||
three kinds of classes (volumes) -- the solid, logical volume and physical
|
||||
volume -- there are three names of the concrete volume used internally inside
|
||||
the program: sol\_\emph{name}, log\_\emph{name} and phys\_\emph{name}.
|
||||
The main volume, inside which all other volumes are positioned, has to be called ``World''.
|
||||
\item \emph{dimensions} define the size of the required solid. They are kept equivalent to the
|
||||
dimensions of solids as used in {\sc Geant4}. For example the ``box'' is defined
|
||||
by its halfwidths along $x$, $y$ and $z$ coordinates. Note that the number of
|
||||
\emph{dimensions} varies for each type of solid.
|
||||
\item \emph{material} one of the materials defined in {\sc Geant4}, namely in the file
|
||||
\$G4INSTALL/source/materials/src/G4NistMaterialBuilder.cc (e.g. ``G4\_Galactic'' for
|
||||
vacuum, ``G4\_Cu'' for copper, ``G4\_AIR'' for air and
|
||||
``G4\_PLASTIC\_SC\_VINYLTOLUENE'' for a scintillator).
|
||||
One can also define a new material inside the function
|
||||
musrDetectorConstruction::DefineMaterials(). Presently ``Mylar'', ``Brass''
|
||||
and ``Steel'' are defined there.
|
||||
\item \emph{x, y, z} -- coordinates of the volume, used to position the volume within
|
||||
its mother volume (as used by the G4PVPlacement).
|
||||
\item \emph{motherVolume} -- name of the mother volume, in which the given volume should be
|
||||
positioned. Note that the mother volume has to be defined first (before its
|
||||
daughter), and that the name of mother starts with a string {\bf log\_}\emph{name},
|
||||
following the naming convention defined above.
|
||||
When the ``World'' volume is defined, its \emph{motherVolume} should be set to ``no\_logical\_volume''.
|
||||
\item \emph{rotationMatrix} -- name of the rotation matrix that will be used to position
|
||||
the volume inside its mother volume (as used in member function G4PVPlacement()).
|
||||
Use string ``norot'' if no rotation is required for the given volume.
|
||||
Otherwise the rotation matrix has to be defined by the command line
|
||||
``/musr/command rotation'' {\bf before} the given is defined.
|
||||
\item \emph{sensitiveClass} -- specifies whether the volume is sensitive or not.
|
||||
Use the string ``dead'' for the non-senstive volume (i.e.\ for the dead material),
|
||||
and the string ``musr/ScintSD'' for a scintillator (a sensitive volume, i.e.\
|
||||
a volume where hits are observed). No other detector type
|
||||
(other than ``dead'' and ``musr/ScintSD'') is supported at the moment, but
|
||||
the program might be extended in the future (e.g. to properly include also the
|
||||
semiconductor tracking detectors, etc.).
|
||||
\item \emph{idNumber} -- idNumber serves as a unique identifier of the volume. It is primarily
|
||||
used in the output Root tree to identify the volume: 1) in which muons stop
|
||||
(tree variable ``muDecayDetID''),
|
||||
2) in which hits were deposited in case of sensitive volume
|
||||
(the variable ``det\_ID[det\_n]'').
|
||||
\end{itemize}
|
||||
%tubs beampipeA 0 128 500 0 360 G4_Galactic 0 0 -800 log_World norot dead 232
|
||||
|
||||
\item{\bf /musr/command logicalVolumeToBeReweighted mu \emph{logicalVolume}=string \emph{weight}=int }\\
|
||||
(default: not defined; no reweighting is done unless explicitly requested by this command.) \\
|
||||
Events can be reweighted by this command. If muon {\bf stops and decays} in the
|
||||
volume \emph{logicalVolume}, the event will be reweighted using the requested \emph{weight}.
|
||||
Namely, only each $n^{th}$ event will be stored ($n=$\emph{weight}) with the parameter
|
||||
``weight'' in the Root output tree set to \emph{weight}, while other (non-$n^{th}$) events
|
||||
will be aborted. (The decision which event is to be stored and which to be aborted is
|
||||
done at random). This reweighting might be usefull in the cases when the user wants to speed-up the
|
||||
simulation (respectively to reduce the number of fully simulated events), while keeping
|
||||
the high number of events interesting for the analysis. For example, one can set
|
||||
the reweighting of events in which muons stop in the collimator. One should then
|
||||
use the \emph{weight} stored in the Root tree when filling histograms.
|
||||
Compared to the simulation with no weighting applied, the histograms with weighted events
|
||||
will have larger errors, but the distribution should not differ more then within the
|
||||
statistical errors.\\
|
||||
Note that the \emph{weight} parameter is integer, and ``mu'' stands for ``muons''
|
||||
(at the moment reweighting based on electrons or positrons is not supported).
|
||||
|
||||
|
||||
\end{description}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Visualisation}
|
||||
|
||||
\begin{description}
|
||||
\item{\bf /musr/command visattributes \emph{volumeName} \emph{color}}\\
|
||||
{\bf /musr/command visattributes \emph{materialName} \emph{color}}\\
|
||||
In case of visualisation,
|
||||
one can set the color of a logical volume \emph{volumeName} or of all volumes made
|
||||
of the material with the name \emph{materialName}. The distinction between the
|
||||
two options is by the first four letters of the \emph{volumeName} -- if it contains
|
||||
the string ``log\_'', it is considered as \emph{volumeName}, otherwise it is
|
||||
considered to be a material with \emph{materialName}.
|
||||
|
||||
Presently the following colors are predefined: ``invisible'', ``white'', ``black'',
|
||||
``red'', ``green'', ``blue'', ``lightblue'', ``yellow'', ``gray'', ``cyan'' and ``magenta''.
|
||||
New colours can be easily added, if needed, in the member function
|
||||
``musrDetectorConstruction::SetColourOfLogicalVolume''.
|
||||
|
||||
\end{description}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Physics processes}
|
||||
|
||||
\begin{description}
|
||||
\item{\bf /musr/command process addDiscreteProcess \emph{particle}=string \emph{process}=string }\\
|
||||
{\bf /musr/command process addProcess \emph{particle}=string \emph{process}=string \emph{ordAtRestDoIt}=int \emph{ordAlongSteptDoIt}=int \emph{ordPostStepDoIt}=int }\\
|
||||
Adds processes for particles. See {\sc Geant4} manual for more details. Look in the
|
||||
file musrPhysicsList.cc for the list of defined processes (e.g. G4MultipleScattering,
|
||||
G4eIonisation, ...)
|
||||
|
||||
There is one special process, combined from G4MultipleScattering and G4CoulombScattering,
|
||||
defined by the following command:\\
|
||||
{\bf /musr/command process addProcess \emph{particle}=string MultipleAndCoulombScattering \emph{ordAtRestDoIt}=int \emph{ordAlongSteptDoIt}=int \emph{ordPostStepDoIt}=int \emph{G4Region1}=string [\emph{G4Region2}=string] [\emph{G4Region3}=string] }\\
|
||||
The G4MultipleScattering (rough but very fast approximation of scattering) will be applied
|
||||
elswhere in the detector, except for the \emph{G4Region1} (and eventually \emph{G4Region2}
|
||||
and \emph{G4Region3}), where more precise but very slow process G4CoulombScattering
|
||||
will be applied instead of G4MultipleScattering. Note that up to three
|
||||
G4Regions are supported at the moment, but this limitation is not intrinsic to {\sc Geant4}
|
||||
and it can be therefore changed in musrPhysicsList.cc, if needed. The G4Regions have to
|
||||
be defined in the detector construction phase by the command ``/musr/command region define ...''.
|
||||
|
||||
\end{description}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\clearpage
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Output root tree variables}
|
||||
The value of -999 or -1000 indicates that the given variable could not be filled
|
||||
(was undefined in a given event).
|
||||
For example if the variable ``muTargetTime'' is set to -1000 it means that the initial muon missed the sample,
|
||||
and therefore no time can be assigned to the sample hit.
|
||||
|
||||
\begin{description}
|
||||
\item{\bf runID} (Int\_t) -- run ID number.
|
||||
\item{\bf eventID} (Int\_t) -- event ID number.
|
||||
\item{\bf weight} (Double\_t) -- event weight.
|
||||
\item{\bf BFieldAtDecay\_Bx, BFieldAtDecay\_By, BFieldAtDecay\_Bz, BFieldAtDecay\_B3, BFieldAtDecay\_B4, BFieldAtDecay\_B5} (Double\_t) --
|
||||
value of the 6 coordinates of the electromagnetic field at the position and time where and when the muon decayed.
|
||||
The first three coordinates correspond to the magnetic field, the last three to the electric field.
|
||||
\item{\bf muIniPosX, muIniPosY, muIniPosZ} (Double\_t) -- initial position where muon was generated (in mm).
|
||||
\item{\bf muIniMomX, muIniMomY, muIniMomZ} (Double\_t) -- initial momentum of the muon when it was generated (in MeV/c).
|
||||
\item{\bf muIniPolX, muIniPolY, muIniPolZ} (Double\_t) -- initial polarisation of the muon when it was generated.
|
||||
\item{\bf muDecayDetID} (Int\_t) -- ID number of the detector in which the muon stopped and decayed.
|
||||
\item{\bf muDecayPosX, muDecayPosY, muDecayPosZ} (Double\_t) -- the position where the muon stopped and decayed (in mm).
|
||||
\item{\bf muDecayTime} (Double\_t) -- the time at which the muon stopped and decayed (in $\mu$s).
|
||||
\item{\bf muDecayPolX, muDecayPolY, muDecayPolZ} (Double\_t) -- polarisation of the muon when it stopped and decayed.
|
||||
\item{\bf muTargetTime} (Double\_t) -- time at which the muon entered the volume whose name starts by ``target'' -- usually the sample (in $\mu$s).
|
||||
\item{\bf muTargetPolX, muTargetPolY, muTargetPolZ} (Double\_t) -- polarisation of the muon when it entered the volume whose name starts with ``target'' -- usually the sample.
|
||||
\item{\bf muM0Time} (Double\_t) -- time at which the muon entered the detector called ``M0'' or ``m0'' (in $\mu$s).
|
||||
\item{\bf muM0PolX, muM0PolY, muM0PolZ} (Double\_t) -- polarisation of the muon when it entered the detector called ``M0'' or ``m0''.
|
||||
\item{\bf muM1Time} (Double\_t) -- time at which the muon entered the detector called ``M1'' or ``m1'' (in $\mu$s).
|
||||
\item{\bf muM1PolX, muM1PolY, muM1PolZ} (Double\_t) -- polarisation of the muon when it entered the detector called ``M1'' or ``m1''.
|
||||
\item{\bf muM2Time} (Double\_t) -- time at which the muon entered the detector called ``M2'' or ``m2'' (in $\mu$s).
|
||||
\item{\bf muM2PolX, muM2PolY, muM2PolZ} (Double\_t) -- polarisation of the muon when it entered the detector called ``M2'' or ``m2''.
|
||||
\item{\bf posIniMomX, posIniMomY, posIniMomY} (Double\_t) -- Initial momentum of the decay positron (in MeV/c).
|
||||
\item{\bf nFieldNomVal} (Int\_t) -- number of the elementary fields that make together the global field.
|
||||
\item{\bf fieldNomVal[nFieldNomVal]} (array of Double\_t) -- nominal values of all elementary fields.
|
||||
(They are usually constant, but sometimes they may vary from event to event).
|
||||
\item{\bf BxIntegral, ByIntegral, BzIntegral, BzIntegral1, BzIntegral2, BzIntegral3} (Double\_t) --
|
||||
calculates the field integrals along the muon path and path lengths defined as
|
||||
\begin{eqnarray}
|
||||
\mathrm{BxIntegral} & = & \int_{\mu\ \mathrm{path}} B_x(s)\, ds \\
|
||||
\mathrm{ByIntegral} & = & \int_{\mu\ \mathrm{path}} B_y(s)\, ds \\
|
||||
\mathrm{BzIntegral} & = & \int_{\mu\ \mathrm{path}} B_z(s)\, ds \\
|
||||
\mathrm{BzIntegral1} & = & \int_{Z_0}^{Z_{decay}} B_z(z)\, dz \\
|
||||
\mathrm{BzIntegral2} & = & \int_{\mu\ \mathrm{path}} ds \\
|
||||
\mathrm{BzIntegral3} & = & \int_{Z_0}^{Z_{decay}} dz
|
||||
\end{eqnarray}
|
||||
The units are tesla$\cdot$m (for the first four variables) and mm (for the last two variables).
|
||||
To calculate the integrals properly, the user must force Geant to use very small step size
|
||||
(e.g.\ by using something like ``/musr/command globalfield setparameter SetLargestAcceptableStep 2''),
|
||||
and probably also to generate the muons well outside the magnetic field and put target such
|
||||
that muons stop at $z=0$.
|
||||
|
||||
Note that these variables are by default not calculated (and not stored) and therefore the user has
|
||||
to switch the calculation on by ``/musr/command rootOutput fieldIntegralBx on'' in the macro file.
|
||||
|
||||
\item{\bf det\_n} (Int\_t) -- number of ``detector hits'' in this event. Note that more then 1 detector
|
||||
might be hit, and even the same detector might be hit more than once. The hit might be induced by just one
|
||||
particle, by more then one particle originating from the same particle initially hitting the detector,
|
||||
or from more ``independent'' particles.
|
||||
For example, the decay positron can emit an Bremsstrahlung photon in the sample and then both the Bremsstrahlung
|
||||
photon and positron hit the same positron counter at approximately the same time.
|
||||
\item{\bf det\_ID[det\_n]} (array of Int\_t) -- ID number of the detector where the given hit occurred.
|
||||
\item{\bf det\_edep[det\_n]} (array of Double\_t) -- energy deposited in the given hit (in MeV).
|
||||
\item{\bf det\_edep\_el[det\_n]} (array of Double\_t) -- energy deposited in the given hit due to electron-based interactions (in MeV).
|
||||
\item{\bf det\_edep\_pos[det\_n]} (array of Double\_t) -- energy deposited in the given hit due to positron-based interactions (in MeV).
|
||||
\item{\bf det\_edep\_gam[det\_n]} (array of Double\_t) -- energy deposited in the given hit due to photon-based interactions (in MeV).
|
||||
\item{\bf det\_edep\_mup[det\_n]} (array of Double\_t) -- energy deposited in the given hit due to muon-based interactions (in MeV).
|
||||
\item{\bf det\_nsteps[det\_n]} (array of Int\_t) -- number of ``steps'' (in {\sc Geant4} terminology) that were
|
||||
integrated together in the given hit. (The det\_edep[] energy is the sum of the energy deposits during all these steps).
|
||||
\item{\bf det\_length[det\_n]} (array of Double\_t) -- the length of the trajectory of the particle (particles) that contributed to
|
||||
the given hit (in mm).
|
||||
\item{\bf det\_time\_start[det\_n], det\_time\_end[det\_n]} (array of Double\_t) -- the initial and final time belonging of the hit.
|
||||
It should be the ``global time'' of the track when the first and last hit occurred (in $\mu$s).
|
||||
\item{\bf det\_x[det\_n], det\_y[det\_n], det\_z[det\_n]} (array of Double\_t) -- the coordinates of the first step of the given hit.
|
||||
%\item{\bf det\_kine[det\_n]} (array of Double\_t) -- should be kinetic energy, but not sure whether it is filled correctly (in MeV).
|
||||
\item{\bf det\_Vrtx*****[det\_n]} -- All the variables starting with ``det\_Vrtx'' refer to the particle with the first (in time) energy deposit
|
||||
belonging to the given hit. (Note that the hit might be induceed by more than one particle.) The vertex, at which
|
||||
the particle was created, may or may not be positioned within the sensitive volume, in which the hit is observed.
|
||||
\item{\bf det\_VrtxKine[det\_n]} (array of Double\_t) -- the kinetic energy of the first (in time) particle belonging to the hit.
|
||||
\item{\bf det\_VrtxX[det\_n], det\_VrtxY[det\_n], det\_VrtxZ[det\_n]} (array of Double\_t) -- the position of the vertex of
|
||||
the first particle that belongs to the given hit (in mm).
|
||||
\item{\bf det\_VrtxVolID[det\_n]} (array of Int\_t) -- ID of the detector in which the vertex (see above) was created.
|
||||
\item{\bf det\_VrtxProcID[det\_n]} (array of Int\_t) -- ID of the physics process in which the vertex (see above) was created.
|
||||
\item{\bf det\_VrtxTrackID[det\_n]} (array of Int\_t) -- track ID of the first particle that belongs to the given hit.
|
||||
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.
|
||||
\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
|
||||
given volume. This way one can better investigate which (hopefully) single particle coused the hit. Even though
|
||||
even in this case it is not guarranteed that only a single particle gave origin to the hit, it is quite likely, though,
|
||||
that it was in fact just a single particle. If the
|
||||
\item{\bf save\_n} (Int\_t) -- number of special kind of ``save'' volume that were hit in this event. The ``save volume'' is
|
||||
any volume whose name starts with letters ``save''. Their purpose in the simulation is usually to check positions
|
||||
and momenta of particles at some position of the detector, even if the particle does not deposit any energy in
|
||||
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.
|
||||
\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).
|
||||
\item{\bf save\_px[save\_n], save\_py[save\_n], save\_pz[save\_n]} (array of Double\_t) -- momentum of the particle when it
|
||||
entered the save volume (in GeV).
|
||||
|
||||
\end{description}
|
||||
\clearpage
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
|
||||
%
|
||||
%\begin{figure}\centering
|
||||
%\epsfig{file=pict/HiFi_01.eps,width=\linewidth,%
|
||||
%bbllx=56pt,bblly=288pt,bburx=505pt,bbury=555pt,clip=}
|
||||
%\caption{The cross-section of the first version of the High Field \musr\ apparatus including
|
||||
%an example interaction. Only the inner part of the apparatus is shown. The picture was generated
|
||||
%using GEANT package.}
|
||||
%\label{HiFi_01}
|
||||
%\end{figure}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Conclusions}
|
||||
The ...
|
||||
in~\cite{Aktas:2004px}.
|
||||
|
||||
\section{Appendix A: Steering file for the simulation}
|
||||
\begin{verbatim}
|
||||
# Macro file for seg06.cc
|
||||
# set detector parameters
|
||||
# This line fills some space
|
||||
# This line fills some space
|
||||
/run/beamOn 2
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\begin{thebibliography}{0}
|
||||
|
||||
%\cite{Aktas:2004px}
|
||||
\bibitem{Aktas:2004px}
|
||||
A.~Aktas {\it et al.} [H1 Collaboration],
|
||||
%``Measurement of dijet production at low Q**2 at HERA,''
|
||||
Submitted to Eur.\,Phys.\,J.\,{\bf C}, [hep-ex/0401010].
|
||||
%%CITATION = HEP-EX 0401010;%%
|
||||
|
||||
|
||||
|
||||
|
||||
\end{thebibliography}
|
||||
|
||||
\end{document}
|
Reference in New Issue
Block a user