13.5.2011 - Kamil Sedlak
1) Small changes before making the musrSim public 2) Slight improvement of the musrSim manual
This commit is contained in:
parent
cb18486947
commit
c92fc6a33f
BIN
doc/musrSim.pdf
BIN
doc/musrSim.pdf
Binary file not shown.
129
doc/musrSim.tex
129
doc/musrSim.tex
@ -47,14 +47,14 @@ Geant4}. The root output variables are also described.
|
|||||||
\section{Scope of the musrSim program}
|
\section{Scope of the musrSim program}
|
||||||
The program ``musrSim'' is a relatively general program that can be used to simulate
|
The program ``musrSim'' is a relatively general program that can be used to simulate
|
||||||
the response of a $\mu$SR~\cite{Blundel:1999} instruments (detectors) to muons and their decay particles
|
the response of a $\mu$SR~\cite{Blundel:1999} instruments (detectors) to muons and their decay particles
|
||||||
(electrons, positrons and gammas), optionaly including ``optical photons''.
|
(electrons, positrons and gammas), optionally including ``optical photons''.
|
||||||
Even though musrSim is tailored to the needs of
|
Even though musrSim is tailored to the needs of
|
||||||
the $\mu$SR technique~\cite{shirokaGeant}, it has been used also
|
the $\mu$SR technique~\cite{shirokaGeant}, it has been used also
|
||||||
in the studies of beam-line elements like spin rotators, as well as
|
in the studies of beam-line elements like spin rotators, as well as
|
||||||
in the detector development
|
in the detector development
|
||||||
studies without any muons involved, e.g.\ to test the response of an APD-based
|
studies without any muons involved, e.g.\ to test the response of an APD-based
|
||||||
scintillator counters to the irradiation of Sr radioactive source~\cite{AlexeyTestAPD}.
|
scintillator counters to the irradiation of Sr radioactive source~\cite{FirstExperience}.
|
||||||
It should be streitforward to apply musrSim also to the low energy particle-physics
|
It should be straightforward to apply musrSim also to the low energy particle-physics
|
||||||
experiments with muons.
|
experiments with muons.
|
||||||
|
|
||||||
The program is based on the Geant4~\cite{geant} and Root~\cite{root} libraries.
|
The program is based on the Geant4~\cite{geant} and Root~\cite{root} libraries.
|
||||||
@ -95,7 +95,7 @@ In our view, the main advantages of musrSim are:
|
|||||||
\item Possibility to use musrSim easily for calculating muon stopping profile
|
\item Possibility to use musrSim easily for calculating muon stopping profile
|
||||||
(also in e.g.\ sample cells) or in developments of detector components
|
(also in e.g.\ sample cells) or in developments of detector components
|
||||||
(e.g.\ light propagation in the scintillator of a positron/muon counter
|
(e.g.\ light propagation in the scintillator of a positron/muon counter
|
||||||
and the subsequent light collectin in a photomultiplier tube or APD).
|
and the subsequent light collection in a photomultiplier tube or APD).
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
%
|
%
|
||||||
On the other hand, there are also some drawbacks and limitations:
|
On the other hand, there are also some drawbacks and limitations:
|
||||||
@ -129,7 +129,7 @@ Once Geant4 has been successfully installed and some of the default Geant4 examp
|
|||||||
has been run, the musrSim installation package can be downloaded from the web page
|
has been run, the musrSim installation package can be downloaded from the web page
|
||||||
http://lmu.web.psi.ch/simulation/index.html.
|
http://lmu.web.psi.ch/simulation/index.html.
|
||||||
Usually the ``env.sh'' script has to be run to set-up the environment variables
|
Usually the ``env.sh'' script has to be run to set-up the environment variables
|
||||||
appropriatelly before the musrSim (and/or any other Geant4 application) can be compiled
|
appropriately before the musrSim (and/or any other Geant4 application) can be compiled
|
||||||
and run.
|
and run.
|
||||||
The simulation is started by executing:
|
The simulation is started by executing:
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ in the macro file:
|
|||||||
|
|
||||||
By default, the output of the simulation is written out in the subdirectory ``data'' with
|
By default, the output of the simulation is written out in the subdirectory ``data'' with
|
||||||
the name ``musr\_RUNNUMBER.root''. The default ``data'' subdirectory can be changed
|
the name ``musr\_RUNNUMBER.root''. The default ``data'' subdirectory can be changed
|
||||||
(see Chapter~\ref{sec:otherParameters}). The simulated data are storred in a Root tree,
|
(see Chapter~\ref{sec:otherParameters}). The simulated data are stored in a Root tree,
|
||||||
which is some kind of a table with many variables for every simulated event, inside
|
which is some kind of a table with many variables for every simulated event, inside
|
||||||
the musr\_RUNNUMBER.root file.
|
the musr\_RUNNUMBER.root file.
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ are summarised in table~\ref{tab:units}.
|
|||||||
Momentum && MeV/c\\
|
Momentum && MeV/c\\
|
||||||
Magnetic field && tesla \\
|
Magnetic field && tesla \\
|
||||||
Electric field && keV/mm \\
|
Electric field && keV/mm \\
|
||||||
Anlgel && degree \\
|
Angle && degree \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\caption{The default units of musrSim.}
|
\caption{The default units of musrSim.}
|
||||||
@ -206,13 +206,13 @@ are summarised in table~\ref{tab:units}.
|
|||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Visualise your instrument geometry during its construction.
|
\item Visualise your instrument geometry during its construction.
|
||||||
\item Check the output file for error messages, especially for volume overlaps.
|
\item Check the output file for error messages, especially for volume overlaps.
|
||||||
\item Note the the dimensions in volume definitions are often half-lenghts, not
|
\item Note the the dimensions in volume definitions are often half-lengths, not
|
||||||
the lenghts (e.g.\ half-lengths of the box edges).
|
the lengths (e.g.\ half-lengths of the box edges).
|
||||||
\item The order of some commands in macro file matters -- e.g.\ one has to define
|
\item The order of some commands in macro file matters -- e.g.\ one has to define
|
||||||
a mother volume before the daughter volume, etc.
|
a mother volume before the daughter volume, etc.
|
||||||
\item Threre are some special volume names, namely \emph{World},
|
\item There are some special volume names, namely \emph{World},
|
||||||
\emph{Target} (same as \emph{target}), \emph{M0}, \emph{M1}, \emph{M2} and
|
\emph{Target} (same as \emph{target}), \emph{M0}, \emph{M1}, \emph{M2} and
|
||||||
volumes starging with keywords \emph{Shield} (same as \emph{shield}), and
|
volumes starting with keywords \emph{Shield} (same as \emph{shield}), and
|
||||||
volumes containing string \emph{save}. All these volume influence the
|
volumes containing string \emph{save}. All these volume influence the
|
||||||
behaviour of the simulation, so understand how they act (see different chapters
|
behaviour of the simulation, so understand how they act (see different chapters
|
||||||
of this manual) before you use them.
|
of this manual) before you use them.
|
||||||
@ -222,7 +222,7 @@ are summarised in table~\ref{tab:units}.
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Detector construction}
|
\section{Detector construction}
|
||||||
The user must first define the instrument geometry in the macro file. It should be realively
|
The user must first define the instrument geometry in the macro file. It should be relatively
|
||||||
easy to understand how this is done from the example macro files distributed with musrSim
|
easy to understand how this is done from the example macro files distributed with musrSim
|
||||||
program.
|
program.
|
||||||
|
|
||||||
@ -232,11 +232,41 @@ The ID volume numbers are later on used also in the musrSimAna program, when som
|
|||||||
of a volume becomes necessary (i.e.\ volumes are described by \emph{idNumber} rather than
|
of a volume becomes necessary (i.e.\ volumes are described by \emph{idNumber} rather than
|
||||||
by their \emph{name} command later on).
|
by their \emph{name} command later on).
|
||||||
|
|
||||||
Another crutial parameter in ``/musr/command construct'' command
|
Another crucial parameter in ``/musr/command construct'' command
|
||||||
is \emph{sensitiveClass}, which defines whether the volume
|
is \emph{sensitiveClass}, which defines whether the volume
|
||||||
is sensitive (i.e.\ a signal can be detected in the volume) or not (i.e.\ the volume
|
is sensitive (i.e.\ a signal can be detected in the volume) or not (i.e.\ the volume
|
||||||
is just a dead material influencing the penetrating particles but not detecting them).
|
is just a dead material influencing the penetrating particles but not detecting them).
|
||||||
|
|
||||||
|
There are some special kind of volumes, which are defined by the name (or part of the name).
|
||||||
|
The user can (but does not have) to use them.
|
||||||
|
The first of them is the volume named ``Target'' (or ``target''). It is expected, that
|
||||||
|
this is the sample, and the quantities {\tt muTargetTime, muTargetPolX, muTargetPolY, muTargetPolZ,
|
||||||
|
muTargetMomX, muTargetMomY, muTargetMomZ},
|
||||||
|
will be saved when a muon enters this volumes for the first time in a given event.
|
||||||
|
|
||||||
|
The second special kind of volumes are the volumes named ``M0'', ``M1'' and ``M3'' (or ``m0'',
|
||||||
|
``m1'' and ``m3''). Typically these volumes can be trigger detectors.
|
||||||
|
The quantities {\tt muM0Time, muM0PolX, muM0PolY, muM0PolZ}
|
||||||
|
will be saved when a muon enters the volume called ``M0'' (or ``m0'') for the first time
|
||||||
|
(similarly for ``M1'' and ``M2'').
|
||||||
|
Note that it is not expected that {\tt muM0Time} should be used in the analysis of the
|
||||||
|
simulation -- one should use the {\tt det\_time\_start} quantity, which corresponds
|
||||||
|
to the measured time in the experiment.
|
||||||
|
|
||||||
|
The third class of special volumes has names starting with the string ``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.
|
||||||
|
See section\ref{sec:rootVariables} for further details on what is saved in the Root tree.
|
||||||
|
|
||||||
|
The last special class of volumes has names starting with the string ``kill'',
|
||||||
|
``shield'' or ``Shield''.
|
||||||
|
If a particle enters the ``kill \ldots'' volume, it is removed from further simulation.
|
||||||
|
The same is true for the ``shield \ldots'' or ``Shield \ldots'' volumes for
|
||||||
|
any particle apart for a muon.
|
||||||
|
The motivation for this kind of volumes was to speed up the simulation by removing tracks
|
||||||
|
that are unlikely to hit any detector. The ``kill'', ``shield'' and ``Shield'' volumes should be use with
|
||||||
|
care.
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
|
|
||||||
@ -330,7 +360,6 @@ is just a dead material influencing the penetrating particles but not detecting
|
|||||||
The variables \emph{gammaCut, electronCut} and \emph{positronCut} are given in mm.
|
The variables \emph{gammaCut, electronCut} and \emph{positronCut} are given in mm.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
{\huge !!! EDIT: !!! Three special volumes ``Target, M0, M1 and M2''.}
|
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Electric and magnetic fields}
|
\section{Electric and magnetic fields}
|
||||||
@ -429,7 +458,7 @@ is just a dead material influencing the penetrating particles but not detecting
|
|||||||
after the ``0'' character in the field map file.\\
|
after the ``0'' character in the field map file.\\
|
||||||
It is expected that the field map is defined in the full volume of the field.
|
It is expected that the field map is defined in the full volume of the field.
|
||||||
Sometimes (due to the symmetry of the field), it is enough to define the
|
Sometimes (due to the symmetry of the field), it is enough to define the
|
||||||
field in just one octant of the Kartesian coorinate system (e.g. for positive
|
field in just one octant of the Cartesian coordinate system (e.g. for positive
|
||||||
$x$, $y$ and $z$). In such cases, the user can specify this in the field map
|
$x$, $y$ and $z$). In such cases, the user can specify this in the field map
|
||||||
file using the keyword ``symmetryType \emph{number}'', where the \emph{number}
|
file using the keyword ``symmetryType \emph{number}'', where the \emph{number}
|
||||||
specifies how the field should be extrapolated to other octants.
|
specifies how the field should be extrapolated to other octants.
|
||||||
@ -560,7 +589,7 @@ However, later on we implemented a possibility to change the direction of the in
|
|||||||
to a random vector by the command ``/gun/direction''. It now works like this:
|
to a random vector by the command ``/gun/direction''. It now works like this:
|
||||||
the primary particles are first generated using all parameters of /gun/* commands
|
the primary particles are first generated using all parameters of /gun/* commands
|
||||||
as if the beam went along the $z$-axis, and just in the last moment before Geant4 starts
|
as if the beam went along the $z$-axis, and just in the last moment before Geant4 starts
|
||||||
to track them, they are (optionaly) rotated to the direction defined by the /gun/direction command.
|
to track them, they are (optionally) rotated to the direction defined by the /gun/direction command.
|
||||||
This way the smearing of the vertex as well as beam tilt/pitch are propagated through the rotation.
|
This way the smearing of the vertex as well as beam tilt/pitch are propagated through the rotation.
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
@ -571,7 +600,7 @@ This way the smearing of the vertex as well as beam tilt/pitch are propagated th
|
|||||||
|
|
||||||
\item{\bf /gun/meanarrivaltime \emph{meanArrivalTime}}\\
|
\item{\bf /gun/meanarrivaltime \emph{meanArrivalTime}}\\
|
||||||
(default: /gun/meanarrivaltime 33.33333 microsecond)\\
|
(default: /gun/meanarrivaltime 33.33333 microsecond)\\
|
||||||
Set mean arrival time difference between two subsequent muons (at continuos beam).
|
Set mean arrival time difference between two subsequent muons (at continuous beam).
|
||||||
The output variable ``timeToNextEvent'' is subsequently randomly generated using
|
The output variable ``timeToNextEvent'' is subsequently randomly generated using
|
||||||
the value of \emph{meanArrivalTime} and filled into the Root tree.
|
the value of \emph{meanArrivalTime} and filled into the Root tree.
|
||||||
|
|
||||||
@ -751,10 +780,10 @@ This way the smearing of the vertex as well as beam tilt/pitch are propagated th
|
|||||||
|
|
||||||
\item{\bf /gun/turtleInterpretAxes \emph{axesWithSign}}\\
|
\item{\bf /gun/turtleInterpretAxes \emph{axesWithSign}}\\
|
||||||
Normally it is expected that the coordinates in TURTLE are x, xprime, y and yprime.
|
Normally it is expected that the coordinates in TURTLE are x, xprime, y and yprime.
|
||||||
One can specify whether the x and y axes of the position in TURTLE should be interpretted differently.
|
One can specify whether the x and y axes of the position in TURTLE should be interpreted differently.
|
||||||
The following options are supported for \emph{axesWithSign}: x-y, -xy, -x-y, yx, y-x, -yx, -y-x .\\
|
The following options are supported for \emph{axesWithSign}: x-y, -xy, -x-y, yx, y-x, -yx, -y-x .\\
|
||||||
Example: the option y-x means that first four coordinates in the TURTLE input file
|
Example: the option y-x means that first four coordinates in the TURTLE input file
|
||||||
are interpreded as y, yprime, -x, -xprime.
|
are interpreted as y, yprime, -x, -xprime.
|
||||||
|
|
||||||
\item{\bf /gun/turtleMomentumBite \emph{turtleMomentumP0} \emph{turtleSmearingFactor} \emph{dummy} }\\
|
\item{\bf /gun/turtleMomentumBite \emph{turtleMomentumP0} \emph{turtleSmearingFactor} \emph{dummy} }\\
|
||||||
Modify the smearing of the momentum bite specified in the TURTLE input file.
|
Modify the smearing of the momentum bite specified in the TURTLE input file.
|
||||||
@ -799,10 +828,10 @@ This way the smearing of the vertex as well as beam tilt/pitch are propagated th
|
|||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Optical photons}
|
\section{Optical photons}
|
||||||
\label{sec:opticalPhotons}
|
\label{sec:opticalPhotons}
|
||||||
Normaly the simulation of ``detected signal'' stops at the level of the deposited energy in
|
Normally the simulation of ``detected signal'' stops at the level of the deposited energy in
|
||||||
a sensitive volume (e.g.\ in a scintilator tile). However, in some special cases, one would
|
a sensitive volume (e.g.\ in a scintillator tile). However, in some special cases, one would
|
||||||
like to know how the light is propagated through the scintillators. In such case simulation
|
like to know how the light is propagated through the scintillators. In such case simulation
|
||||||
of optical photons is possible. Note that the optical photon in Geant are treaded as a class
|
of optical photons is possible. Note that the optical photon in Geant are treated as a class
|
||||||
of particles distinct from higher energy gamma particles -- and there is no smooth transition
|
of particles distinct from higher energy gamma particles -- and there is no smooth transition
|
||||||
between the two. Some additional material properties
|
between the two. Some additional material properties
|
||||||
of an active detector and of the detector surface have to be defined for optical photons.
|
of an active detector and of the detector surface have to be defined for optical photons.
|
||||||
@ -835,11 +864,11 @@ in order to simulate optical photons:
|
|||||||
FASTTIMECONSTANT, SLOWTIMECONSTANT, and YIELDRATIO. See other \emph{property} keywords
|
FASTTIMECONSTANT, SLOWTIMECONSTANT, and YIELDRATIO. See other \emph{property} keywords
|
||||||
in chapter ``Optical Photon Processes'' in~\cite{geantUserManual}.\\
|
in chapter ``Optical Photon Processes'' in~\cite{geantUserManual}.\\
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item{\bf SCINTILLATIONYIELD} ... nr. of photons per 1\,MeV of deposited energy.
|
\item{\bf SCINTILLATIONYIELD} ... no. of photons per 1\,MeV of deposited energy.
|
||||||
\item{\bf RESOLUTIONSCALE} ... intrinsic resolution -- normally 1, larger than
|
\item{\bf RESOLUTIONSCALE} ... intrinsic resolution -- normally 1, larger than
|
||||||
1 for crystals with impurities, smaller than 1 when Fano factor plays a role.
|
1 for crystals with impurities, smaller than 1 when Fano factor plays a role.
|
||||||
\item{\bf YIELDRATIO} ... relative strength of the fast component as a fraction
|
\item{\bf YIELDRATIO} ... relative strength of the fast component as a fraction
|
||||||
of total scintillation yeald.
|
of total scintillation yield.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\item {\bf /musr/command setMaterialPropertiesTable \emph{MPT\_name} \emph{material\_name}} \\
|
\item {\bf /musr/command setMaterialPropertiesTable \emph{MPT\_name} \emph{material\_name}} \\
|
||||||
@ -873,7 +902,7 @@ in order to simulate optical photons:
|
|||||||
for the deposited energy signals.
|
for the deposited energy signals.
|
||||||
\item{\bf OPSAhist \emph{nBins} \emph{min} \emph{max}} \\
|
\item{\bf OPSAhist \emph{nBins} \emph{min} \emph{max}} \\
|
||||||
Defines ``OPSA'' histograms -- i.e.\ histograms that
|
Defines ``OPSA'' histograms -- i.e.\ histograms that
|
||||||
contain the time distribution of the arival of optical photons.\\
|
contain the time distribution of the arrival of optical photons.\\
|
||||||
\emph{nBins} ... number of bins of the histogram\\
|
\emph{nBins} ... number of bins of the histogram\\
|
||||||
\emph{min} ... minimum of the x-axis of the histogram\\
|
\emph{min} ... minimum of the x-axis of the histogram\\
|
||||||
\emph{max}... maximum of the x-axis the histogram\\
|
\emph{max}... maximum of the x-axis the histogram\\
|
||||||
@ -892,20 +921,20 @@ in order to simulate optical photons:
|
|||||||
event \emph{eventID} in the detector \emph{detID}.\\
|
event \emph{eventID} in the detector \emph{detID}.\\
|
||||||
There are other two histograms, namely
|
There are other two histograms, namely
|
||||||
``OPSAshape\_\emph{eventID}\_\emph{detID}\_\emph{n}'', which shows
|
``OPSAshape\_\emph{eventID}\_\emph{detID}\_\emph{n}'', which shows
|
||||||
the signal from OPSAhist convoluted with the responce function
|
the signal from OPSAhist convoluted with the response function
|
||||||
of the optical detection device as e.g.\ G-APD, and
|
of the optical detection device as e.g.\ G-APD, and
|
||||||
``OPSA\_CFD\_\emph{eventID}\_\emph{detID}\_\emph{n}'', which shows
|
``OPSA\_CFD\_\emph{eventID}\_\emph{detID}\_\emph{n}'', which shows
|
||||||
the signal from OPSAshape after the constant fraction discriminator.
|
the signal from OPSAshape after the constant fraction discriminator.
|
||||||
\item{\bf pulseShapeArray \emph{pulseShapeFileName}}\\
|
\item{\bf pulseShapeArray \emph{pulseShapeFileName}}\\
|
||||||
\emph{pulseShapeFileName} is the name of the file that contains responce
|
\emph{pulseShapeFileName} is the name of the file that contains response
|
||||||
function (pulse shape) of a single cell (single photon) detected by
|
function (pulse shape) of a single cell (single photon) detected by
|
||||||
the photosensitive detector. The data format is very strict:\\
|
the photosensitive detector. The data format is very strict:\\
|
||||||
\% ... comments \\
|
\% ... comments \\
|
||||||
first column ... time in picosecond (it has to be: 0, 1, 2, ... iPSmax
|
first column ... time in picoseconds (it has to be: 0, 1, 2, ... iPSmax
|
||||||
where iPSmax is smaller than 10000)\\
|
where iPSmax is smaller than 10000)\\
|
||||||
second column ... amplitude of the APD response function\\
|
second column ... amplitude of the APD response function\\
|
||||||
{\bf Internally in musrSim, the data read from this file are interpolated to the
|
{\bf Internally in musrSim, the data read from this file are interpolated to the
|
||||||
centers of the bins of the histograms defined by
|
centres of the bins of the histograms defined by
|
||||||
``/musr/command OPSA OPSAhist ''}.
|
``/musr/command OPSA OPSAhist ''}.
|
||||||
|
|
||||||
\item{\bf CFD \emph{a1} \emph{delay} \emph{timeShiftOffset}}\\
|
\item{\bf CFD \emph{a1} \emph{delay} \emph{timeShiftOffset}}\\
|
||||||
@ -1057,6 +1086,7 @@ in order to simulate optical photons:
|
|||||||
\end{description}
|
\end{description}
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Output root tree variables}
|
\section{Output root tree variables}
|
||||||
|
\label{sec:rootVariables}
|
||||||
The value of -999 or -1000 indicates that the given variable could not be filled
|
The value of -999 or -1000 indicates that the given variable could not be filled
|
||||||
(was undefined in a given event).
|
(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,
|
For example if the variable ``muTargetTime'' is set to -1000 it means that the initial muon missed the sample,
|
||||||
@ -1097,7 +1127,8 @@ The list of variables that can be stored in the Root tree:
|
|||||||
\item{\bf muDecayPosX, muDecayPosY, muDecayPosZ} (Double\_t) -- the position where the muon stopped and decayed (in mm).
|
\item{\bf muDecayPosX, muDecayPosY, muDecayPosZ} (Double\_t) -- the position where the muon stopped and decayed (in mm).
|
||||||
\item{\bf muDecayPolX, muDecayPolY, muDecayPolZ} (Double\_t) -- polarisation of the muon when it stopped and decayed.
|
\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 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 muTargetPolX, muTargetPolY, muTargetPolZ} (Double\_t) -- polarisation of the muon when it entered the volume whose name is ``target'' -- usually the sample.
|
||||||
|
\item{\bf muTargetMomX, muTargetMomY, muTargetMomZ} (Double\_t) -- momentum of the muon when it entered the volume whose name is ``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 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 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 muM1Time} (Double\_t) -- time at which the muon entered the detector called ``M1'' or ``m1'' (in $\mu$s).
|
||||||
@ -1181,7 +1212,7 @@ The list of variables that can be stored in the Root tree:
|
|||||||
-- times, when the the first and last photons contributing to the given signal were detected (odet\_timeFirst and odet\_timeLast).
|
-- times, when the the first and last photons contributing to the given signal were detected (odet\_timeFirst and odet\_timeLast).
|
||||||
\item{\bf odet\_timeA[odet\_n], odet\_timeB[odet\_n]} (array of Double\_t)
|
\item{\bf odet\_timeA[odet\_n], odet\_timeB[odet\_n]} (array of Double\_t)
|
||||||
-- time, when the $n^{th}$ photon was detected, where $n$ for \emph{odet\_timeA[i]} is given as \emph{OPSA\_fracA}
|
-- time, when the $n^{th}$ photon was detected, where $n$ for \emph{odet\_timeA[i]} is given as \emph{OPSA\_fracA}
|
||||||
multiplied by \emph{odet\_nPhot[i]}. Similary for \emph{odet\_timeB[i]}.
|
multiplied by \emph{odet\_nPhot[i]}. Similarly for \emph{odet\_timeB[i]}.
|
||||||
The variables \emph{OPSA\_fracA} and \emph{OPSA\_fracB} are defined by the ``/musr/command OPSA photonFractions'' command
|
The variables \emph{OPSA\_fracA} and \emph{OPSA\_fracB} are defined by the ``/musr/command OPSA photonFractions'' command
|
||||||
(see chapter~\ref{sec:opticalPhotons}).
|
(see chapter~\ref{sec:opticalPhotons}).
|
||||||
\item{\bf odet\_timeC[odet\_n]} (array of Double\_t)
|
\item{\bf odet\_timeC[odet\_n]} (array of Double\_t)
|
||||||
@ -1201,7 +1232,7 @@ The list of variables that can be stored in the Root tree:
|
|||||||
the given ``save'' volume. Save volumes can therefore be made of vacuum.
|
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\_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\_particleID[save\_n]} (array of Int\_t) -- particle ID of the particle that entered the save volume.
|
||||||
\item{\bf save\_time[save\_n]} (array of Double\_t) -- time when the particle enetered in the volume (in $\mu$s).
|
\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
|
\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).
|
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
|
\item{\bf save\_px[save\_n], save\_py[save\_n], save\_pz[save\_n]} (array of Double\_t) -- momentum of the particle when it
|
||||||
@ -1290,9 +1321,9 @@ scintillator tiles.}
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
%
|
%
|
||||||
illustrates a simple geometry made of an electron source and two blocks
|
illustrates a simple geometry made of an electron source and two blocks
|
||||||
of scintilator tiles with the dimensions of $3 \times 3 \times 2\,$mm,
|
of scintillator tiles with the dimensions of $3 \times 3 \times 2\,$mm,
|
||||||
which is defined in the macro file ``101.mac''.
|
which is defined in the macro file ``101.mac''.
|
||||||
The primary particles are electrons with the energy of 2.15\,MeV shooted
|
The primary particles are electrons with the energy of 2.15\,MeV shot
|
||||||
into the first scintillator. There the electron can be scattered, and therefore
|
into the first scintillator. There the electron can be scattered, and therefore
|
||||||
it may or may not hit the second scintillator. We have used the command\\[2ex]
|
it may or may not hit the second scintillator. We have used the command\\[2ex]
|
||||||
{\tt /musr/command storeOnlyEventsWithHitInDetID 11}\\[2ex]
|
{\tt /musr/command storeOnlyEventsWithHitInDetID 11}\\[2ex]
|
||||||
@ -1337,7 +1368,7 @@ The data for the strontium and yttrium decay are taken
|
|||||||
from the Geant4 data files, namely\\
|
from the Geant4 data files, namely\\
|
||||||
{\tt /home/install/data\_geant4.9.4/RadioactiveDecay3.3/z38.a90}~~~~ and\\
|
{\tt /home/install/data\_geant4.9.4/RadioactiveDecay3.3/z38.a90}~~~~ and\\
|
||||||
{\tt /home/install/data\_geant4.9.4/RadioactiveDecay3.3/z39.a90}. \\
|
{\tt /home/install/data\_geant4.9.4/RadioactiveDecay3.3/z39.a90}. \\
|
||||||
There is, however, one problem in musrSim -- it has to handle times with picoseond precission,
|
There is, however, one problem in musrSim -- it has to handle times with picoseond precision,
|
||||||
and the \emph{double} precision used in the c{\tt ++} program is then not enough to deal with
|
and the \emph{double} precision used in the c{\tt ++} program is then not enough to deal with
|
||||||
the $^{90}$Sr decay time of 29 years.
|
the $^{90}$Sr decay time of 29 years.
|
||||||
For this reason, one has to modify the decay times in the two data files, i.e.\
|
For this reason, one has to modify the decay times in the two data files, i.e.\
|
||||||
@ -1362,7 +1393,7 @@ of events hits the second counter, and is written out to the output file.
|
|||||||
(In any case -- the events in which electron does not enter any counter are simulated in a much
|
(In any case -- the events in which electron does not enter any counter are simulated in a much
|
||||||
shorter time than the ``interesting'' events.)
|
shorter time than the ``interesting'' events.)
|
||||||
|
|
||||||
The example {\tt 102.mac} is based on the results published in~\cite{kkkkk}.
|
The example {\tt 102.mac} is based on the results published in~\cite{FirstExperience}.
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Example 3 -- Simulation of the light transport (103.mac)}
|
\section{Example 3 -- Simulation of the light transport (103.mac)}
|
||||||
This example is similar to example~1, and extended by the simulation of light (``optical
|
This example is similar to example~1, and extended by the simulation of light (``optical
|
||||||
@ -1370,7 +1401,7 @@ photons''). The light simulation slows down the execution of musrSim dramatical
|
|||||||
|
|
||||||
The simulation of light is a new feature in musrSim, and it is being tested. Once
|
The simulation of light is a new feature in musrSim, and it is being tested. Once
|
||||||
this is finished, we will improve this example. However, it seems to be running fine
|
this is finished, we will improve this example. However, it seems to be running fine
|
||||||
in its current implementation, so you can start using it. A lot of usefull information
|
in its current implementation, so you can start using it. A lot of useful information
|
||||||
about the optical photons is given in chapter ``Optical Photon Processes'' in
|
about the optical photons is given in chapter ``Optical Photon Processes'' in
|
||||||
the Geant4 User Manual~\cite{geantUserManual}.\\
|
the Geant4 User Manual~\cite{geantUserManual}.\\
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
@ -1378,10 +1409,10 @@ the Geant4 User Manual~\cite{geantUserManual}.\\
|
|||||||
%
|
%
|
||||||
The General Purpose Decay-Channel Spectrometer (GPD)
|
The General Purpose Decay-Channel Spectrometer (GPD)
|
||||||
instrument~\cite{GPD} at PSI, more or less as implemented in reality in the year 2010, is exemplified in
|
instrument~\cite{GPD} at PSI, more or less as implemented in reality in the year 2010, is exemplified in
|
||||||
run {\tt 201.mac}. GPD instrument is optimised for the measurements of pressuarised samples
|
run {\tt 201.mac}. GPD instrument is optimised for the measurements of pressured samples
|
||||||
in a special pressure cells.
|
in a special pressure cells.
|
||||||
The detector system is relatively simple -- it consist of a rectangular muon counter (10x10x2\,mm),
|
The detector system is relatively simple -- it consist of a rectangular muon counter (10x10x2\,mm),
|
||||||
two backward positron counters, three forward positron counters, cylidrical sample in a cylindrical
|
two backward positron counters, three forward positron counters, cylindrical sample in a cylindrical
|
||||||
sample holder, two lead collimators, one copper collimator, GPD magnet, and some additional ``dead'' material.
|
sample holder, two lead collimators, one copper collimator, GPD magnet, and some additional ``dead'' material.
|
||||||
The GPD geometry is illustrated in Fig.~\ref{fig:vis_201_1}-\ref{fig:vis_201_4},
|
The GPD geometry is illustrated in Fig.~\ref{fig:vis_201_1}-\ref{fig:vis_201_4},
|
||||||
where some of the elements present in the simulation (beampipe, magnet, aluminium profiles) are not displayed
|
where some of the elements present in the simulation (beampipe, magnet, aluminium profiles) are not displayed
|
||||||
@ -1482,8 +1513,9 @@ The results of this GPD simulation are described in the \emph{musrSimAna} manual
|
|||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\section{Conclusions}
|
\section{Conclusions}
|
||||||
The ...
|
Please let us know your comments and suggestions for further improvement/development of the
|
||||||
in~\cite{Aktas:2004px}.
|
musrSim program.
|
||||||
|
|
||||||
|
|
||||||
\section{Appendix A: Steering file for the simulation}
|
\section{Appendix A: Steering file for the simulation}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@ -1499,9 +1531,6 @@ in~\cite{Aktas:2004px}.
|
|||||||
|
|
||||||
\bibitem{Blundel:1999} S.J.~Blundel, Contemp. Phys. 40 (1999) 175.
|
\bibitem{Blundel:1999} S.J.~Blundel, Contemp. Phys. 40 (1999) 175.
|
||||||
|
|
||||||
\bibitem{AlexeyTestAPD} A.~Stoykov {\it et al.}, ``First experience with G-APDs in $\mu$SR instrumentation'',
|
|
||||||
NDIP08, to be published in Nucl. Instrum. Meth. A.
|
|
||||||
|
|
||||||
\bibitem{geant} S.~Agostinelli {\it et al.}, Nucl. Instr. and Meth. A 506 (2003) 250.\\ %-303. \\
|
\bibitem{geant} S.~Agostinelli {\it et al.}, Nucl. Instr. and Meth. A 506 (2003) 250.\\ %-303. \\
|
||||||
J.~Allison, et al., IEEE Trans. Nucl.\ Sci.\ 53 (2006) 270. %-278.
|
J.~Allison, et al., IEEE Trans. Nucl.\ Sci.\ 53 (2006) 270. %-278.
|
||||||
\bibitem{root} R.~Brun, F.~Rademakers ``ROOT - An Object Oriented Data Analysis Framework'',
|
\bibitem{root} R.~Brun, F.~Rademakers ``ROOT - An Object Oriented Data Analysis Framework'',
|
||||||
@ -1520,18 +1549,16 @@ http://pc532.psi.ch/turtcomp.htm
|
|||||||
T.~Shiroka {\it et al.} ``GEANT4 as a simulation framework in muSR'',
|
T.~Shiroka {\it et al.} ``GEANT4 as a simulation framework in muSR'',
|
||||||
Physica {\bf B~404}, (2009) 966-969
|
Physica {\bf B~404}, (2009) 966-969
|
||||||
%
|
%
|
||||||
%\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;%%
|
|
||||||
|
|
||||||
\bibitem{GPD}
|
\bibitem{GPD}
|
||||||
http://lmu.web.psi.ch/facilities/gpd/gpd.html
|
http://lmu.web.psi.ch/facilities/gpd/gpd.html
|
||||||
|
|
||||||
\bibitem{musrSimAna}
|
\bibitem{musrSimAna}
|
||||||
K.Sedlak, ``Manual of musrSimAna''.
|
K.~Sedlak, ``Manual of musrSimAna''.
|
||||||
|
|
||||||
|
\bibitem{FirstExperience}
|
||||||
|
A.~Stoykov {\it et al.} ``First experience with G-APD in $\mu$SR instrumentation'',
|
||||||
|
Nucl. Inst. and Meth. in Phys. Res. A {\bf 610} (2009), 374-377.
|
||||||
|
|
||||||
\end{thebibliography}
|
\end{thebibliography}
|
||||||
|
|
||||||
|
@ -40,7 +40,8 @@
|
|||||||
int main(int argc,char** argv) {
|
int main(int argc,char** argv) {
|
||||||
|
|
||||||
XInitThreads();
|
XInitThreads();
|
||||||
|
G4cout<<"\n\n\n*************************************************************"<<G4endl;
|
||||||
|
G4cout<<" musrSim version 1.0.0 released on 13 May 2011"<<G4endl;
|
||||||
// choose the Random engine
|
// choose the Random engine
|
||||||
// CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); // the /musr/run/randomOption 2 does not work with RanecuEngine
|
// CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); // the /musr/run/randomOption 2 does not work with RanecuEngine
|
||||||
CLHEP::HepRandom::setTheEngine(new CLHEP::HepJamesRandom);
|
CLHEP::HepRandom::setTheEngine(new CLHEP::HepJamesRandom);
|
||||||
|
@ -153,9 +153,9 @@
|
|||||||
###################################################################################
|
###################################################################################
|
||||||
######################### V I S U A L I S A T I O N ##############################
|
######################### V I S U A L I S A T I O N ##############################
|
||||||
###################################################################################
|
###################################################################################
|
||||||
#/vis/disable
|
/vis/disable
|
||||||
#/control/execute visFromToni.mac
|
#/control/execute visFromToni.mac
|
||||||
/control/execute visDawn102.mac
|
#/control/execute visDawn102.mac
|
||||||
#/control/execute visVRML.mac
|
#/control/execute visVRML.mac
|
||||||
###################################################################################
|
###################################################################################
|
||||||
######################### P A R T I C L E G U N #################################
|
######################### P A R T I C L E G U N #################################
|
||||||
|
72
run/visDawn201.mac
Normal file
72
run/visDawn201.mac
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# This is a macro file for visualizing G4 events.
|
||||||
|
# It can either be included in another macro or called with /control/exec vis.mac
|
||||||
|
|
||||||
|
# Create an OpenGL driver (i.e. a scene handler and viewer)
|
||||||
|
# Some useful choices: VRML2FILE, OGLSX, OGLIX, DAWNFILE, etc.
|
||||||
|
#/vis/open VRML2FILE
|
||||||
|
#*/vis/open OGLIX 600x600-0+0
|
||||||
|
/vis/open DAWNFILE
|
||||||
|
|
||||||
|
# To calculate volumes and masses uncomment the next two lines
|
||||||
|
#*/vis/open ATree
|
||||||
|
#*/vis/ASCIITree/verbose 4
|
||||||
|
|
||||||
|
|
||||||
|
# Create a new empty scene and attach it to handler
|
||||||
|
/vis/scene/create
|
||||||
|
|
||||||
|
# Add world volume, trajectories and hits to the scene
|
||||||
|
/vis/scene/add/volume
|
||||||
|
/vis/scene/add/trajectories
|
||||||
|
/vis/scene/add/hits
|
||||||
|
/vis/sceneHandler/attach
|
||||||
|
|
||||||
|
# Configure the viewer (optional)
|
||||||
|
#/vis/viewer/set/viewpointThetaPhi 235 -45
|
||||||
|
#/vis/viewer/set/viewpointThetaPhi 90 180
|
||||||
|
#/vis/viewer/set/viewpointThetaPhi 0 0
|
||||||
|
/vis/viewer/set/viewpointThetaPhi 90 90
|
||||||
|
#/vis/viewer/set/lightsThetaPhi 120 60
|
||||||
|
#/vis/viewer/set/hiddenEdge true
|
||||||
|
#/vis/viewer/set/style surface
|
||||||
|
/vis/viewer/zoom 2.5
|
||||||
|
# Style: s - surface, w - wireframe
|
||||||
|
# Note: "surface style" and "hiddenEdge true" remove transparency!
|
||||||
|
# Other viewpoints (25 55) (235 -45) (125 35)
|
||||||
|
|
||||||
|
|
||||||
|
# Store trajectory information for visualisation (set to 0 if too many tracks cause core dump)
|
||||||
|
/tracking/storeTrajectory 1
|
||||||
|
|
||||||
|
#At the end of each event (default behaviour)
|
||||||
|
#/vis/scene/endOfEventAction refresh
|
||||||
|
#At the end of run of X events - Data from X events will be superimposed
|
||||||
|
#cks
|
||||||
|
#/vis/scene/endOfEventAction accumulate
|
||||||
|
#At the end of Y runs - Data from Y runs will be superimposed
|
||||||
|
#/vis/scene/endOfRunAction accumulate
|
||||||
|
|
||||||
|
# Coloured trajectories for an easier particle identification:
|
||||||
|
# PDG IDs and colours: e- 11 red, e+ -11 blue, nu_e 12 yellow,
|
||||||
|
# mu+ -13 magenta, anti_nu_mu -14 green, gamma 22 grey
|
||||||
|
#
|
||||||
|
#/vis/modeling/trajectories/create/drawByCharge
|
||||||
|
#/vis/modeling/trajectories/drawByCharge-0/set 1 cyan
|
||||||
|
|
||||||
|
/vis/modeling/trajectories/create/drawByParticleID
|
||||||
|
#*/vis/modeling/trajectories/drawByParticleID-0/set gamma grey
|
||||||
|
#/vis/modeling/trajectories/drawByParticleID-0/setRGBA gamma 1 1 1 0
|
||||||
|
/vis/modeling/trajectories/drawByParticleID-0/setRGBA mu+ 1 0 0 1
|
||||||
|
/vis/modeling/trajectories/drawByParticleID-0/setRGBA e+ 0 0 1 1
|
||||||
|
/vis/modeling/trajectories/drawByParticleID-0/setRGBA gamma 0 1 0 1
|
||||||
|
/vis/modeling/trajectories/drawByParticleID-0/setRGBA e- 1 0 1 1
|
||||||
|
/vis/modeling/trajectories/drawByParticleID-0/setRGBA nu_e 1 1 1 0 1
|
||||||
|
/vis/modeling/trajectories/drawByParticleID-0/setRGBA anti_nu_mu 1 1 1 0.5
|
||||||
|
#/vis/modeling/trajectories/drawByParticleID-0/set nu_e white
|
||||||
|
#/vis/modeling/trajectories/drawByParticleID-0/set anti_nu_mu white
|
||||||
|
|
||||||
|
# Verbosity of hits
|
||||||
|
#/hits/verbose 2
|
||||||
|
|
||||||
|
# Output just the detector geometry
|
||||||
|
/vis/viewer/flush
|
63
run/visFromToni.mac
Normal file
63
run/visFromToni.mac
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# This is a macro file for visualizing G4 events.
|
||||||
|
# It can either be included in another macro or called with /control/exec vis.mac
|
||||||
|
|
||||||
|
# Create an OpenGL driver (i.e. a scene handler and viewer)
|
||||||
|
# Some useful choices: VRML2FILE, OGLSX, OGLIX, DAWNFILE, etc.
|
||||||
|
#/vis/open VRML2FILE
|
||||||
|
#*/vis/open OGLIX 600x600-0+0
|
||||||
|
/vis/open DAWNFILE
|
||||||
|
|
||||||
|
# To calculate volumes and masses uncomment the next two lines
|
||||||
|
#*/vis/open ATree
|
||||||
|
#*/vis/ASCIITree/verbose 4
|
||||||
|
|
||||||
|
|
||||||
|
# Create a new empty scene and attach it to handler
|
||||||
|
/vis/scene/create
|
||||||
|
|
||||||
|
# Add world volume, trajectories and hits to the scene
|
||||||
|
/vis/scene/add/volume
|
||||||
|
/vis/scene/add/trajectories
|
||||||
|
/vis/scene/add/hits
|
||||||
|
/vis/sceneHandler/attach
|
||||||
|
|
||||||
|
# Configure the viewer (optional)
|
||||||
|
/vis/viewer/set/viewpointThetaPhi 235 -45
|
||||||
|
/vis/viewer/set/lightsThetaPhi 120 60
|
||||||
|
#/vis/viewer/set/hiddenEdge true
|
||||||
|
#/vis/viewer/set/style surface
|
||||||
|
#/vis/viewer/zoom 0.5
|
||||||
|
# Style: s - surface, w - wireframe
|
||||||
|
# Note: "surface style" and "hiddenEdge true" remove transparency!
|
||||||
|
# Other viewpoints (25 55) (235 -45) (125 35)
|
||||||
|
|
||||||
|
|
||||||
|
# Store trajectory information for visualisation (set to 0 if too many tracks cause core dump)
|
||||||
|
/tracking/storeTrajectory 1
|
||||||
|
|
||||||
|
#At the end of each event (default behaviour)
|
||||||
|
#/vis/scene/endOfEventAction refresh
|
||||||
|
#At the end of run of X events - Data from X events will be superimposed
|
||||||
|
/vis/scene/endOfEventAction accumulate
|
||||||
|
#At the end of Y runs - Data from Y runs will be superimposed
|
||||||
|
#/vis/scene/endOfRunAction accumulate
|
||||||
|
|
||||||
|
# Coloured trajectories for an easier particle identification:
|
||||||
|
# PDG IDs and colours: e- 11 red, e+ -11 blue, nu_e 12 yellow,
|
||||||
|
# mu+ -13 magenta, anti_nu_mu -14 green, gamma 22 grey
|
||||||
|
#
|
||||||
|
#/vis/modeling/trajectories/create/drawByCharge
|
||||||
|
#/vis/modeling/trajectories/drawByCharge-0/set 1 cyan
|
||||||
|
|
||||||
|
/vis/modeling/trajectories/create/drawByParticleID
|
||||||
|
#*/vis/modeling/trajectories/drawByParticleID-0/set gamma grey
|
||||||
|
/vis/modeling/trajectories/drawByParticleID-0/setRGBA mu+ 1 0 1 1
|
||||||
|
/vis/modeling/trajectories/drawByParticleID-0/setRGBA e+ 0 0 0.8 0.5
|
||||||
|
#*/vis/modeling/trajectories/drawByParticleID-0/setRGBA nu_e 0.7 0.7 0 1
|
||||||
|
#*/vis/modeling/trajectories/drawByParticleID-0/setRGBA anti_nu_mu 0.3 1.0 0 0.5
|
||||||
|
|
||||||
|
# Verbosity of hits
|
||||||
|
#/hits/verbose 2
|
||||||
|
|
||||||
|
# Output just the detector geometry
|
||||||
|
/vis/viewer/flush
|
Loading…
x
Reference in New Issue
Block a user