Warning, /DD4hep/doc/usermanuals/DDG4/sections/Introduction.tex is written in an unsupported language. File is not indexed.
0001
0002 %=============================================================================
0003 \section{Introduction}
0004 \label{sec:ddg4-user-manual-introduction}
0005 %=============================================================================
0006 \noindent
0007 This manual should introduce to the DDG4 framework.
0008 One goal of \DDG is to easily configure the simulation applications
0009 capable of simulating the physics response of detector configurations
0010 as they are used for example in high energy physics experiments.
0011 In such simulation programs the user normally has to define the
0012 experimental setup in terms of its geometry and in terms of its
0013 active elements which sample the detector response.
0014
0015 \noindent
0016 The goal of \DDG is to generalize the configuration of a simulation
0017 application to a degree, which does not force users to write code
0018 to test a detector design. At the same time it should of course
0019 be feasible to supply specialized user written modules which are supposed
0020 to seamlessly operate together with standard modules supplied by the toolkit.
0021 Detector-simulation depends strongly on the use of an underlying simulation
0022 toolkit, the most prominent candidate nowadays being Geant4~\cite{bib:geant4}.
0023 \DDhep supports simulation activities with Geant4 providing
0024 an automatic translation mechanism between geometry representations.
0025 The simulation response in the active elements of the detector
0026 is strongly influenced by the technical
0027 choices and precise simulations depends on the very specific detection techniques.
0028
0029 \noindent
0030 Similar to the aim of \DDhep\cite{bib:DD4hep},
0031 where with time a standard palette of detector
0032 components developed by users should become part of the toolkit,
0033 \DDG also hopes to provide a standard palette of components used
0034 to support simulation activities for detector layouts
0035 where detector designers may base the simulation of a planned experiment
0036 on these predefined components for initial design and optimization
0037 studies. The longterm vision is to construct simulation applications
0038 writing only new components not yet present i.e. the main work will be to
0039 select the appropriate components from the palette and connect them
0040 to a functional program.
0041
0042 \noindent
0043 This is not a manual to Geant4 nor the basic infrastructure of \DDhep.
0044 It is assumed that this knowledge is present and the typical glossary
0045 is known.
0046
0047 %=============================================================================
0048 \section{The Geant4 User Interface}
0049 \label{sec:ddg4-user-manual-geant4-interface}
0050 %=============================================================================
0051
0052 \noindent
0053 The Geant4 simulation toolkit~\cite{bib:geant4} implements a very complex
0054 machinery to simulate the energy deposition of particles traversing materials.
0055 To ease its usage for the clients and to shield clients from the complex
0056 internals when actually implementing a simulation applications for a
0057 given detector design, it provides several user hooks
0058 as shown in Figure~\ref{fig:ddg4-g4runmanager-anatomy}. Each of these hooks
0059 serves a well specialized purpose, but unfortunately also leads to very
0060 specialized applications. One aim of \DDG is to formalize these user
0061 actions so that the invocation at the appropriate time may be purely
0062 data driven.
0063 \begin{figure}[h]
0064 \begin{center}
0065 \includegraphics[height=70mm] {DDG4-G4RunManagerAnatomy}
0066 \caption{The various user hooks provided by Geant4. Not shown here
0067 is the callback system interfacing to the active elements
0068 of the detector design.}
0069 \label{fig:ddg4-g4runmanager-anatomy}
0070 \end{center}
0071 \end{figure}
0072
0073 \noindent
0074 In detail the following object-hooks allow the client to define user provided actions:
0075 \begin{itemize}\itemcompact
0076 \item The \bold{User Physics List} allows the client to customize and define
0077 the underlying physics process(es) which define the particle interactions
0078 inside the detector defined with the geometry description.
0079 These interactions define the detector response in terms of
0080 energy depositions.
0081 \item The \bold{Run Action} is called once at the start and end of a run.
0082 i.e. a series of generated events. These two callbacks
0083 allow clients to define run-dependent actions such as statistics
0084 summaries etc.
0085 \item The \bold{Primary Generator Action} is called for every event.
0086 During the callback all particles are created which form the
0087 microscopic kinematic action of the particle collision.
0088 This input may either origin directly from an event generator program
0089 or come from file.
0090 \item The \bold{Event Action} is called once at the start and the end of each event.
0091 It is typically used for a simple analysis of the processed event.
0092 If the simulated data should be written to some persistent medium,
0093 the call at the end of the event processing is the appropriate place.
0094 \item The \bold{Tracking Action}
0095 \item The \bold{Stepping Action}
0096 \item The \bold{Stacking Action}
0097 \end{itemize}
0098 \noindent
0099 Geant4 provides all callbacks with the necessary information in the form of
0100 appropriate arguments.
0101
0102 \noindent
0103 Besides the callback system, Geant4 provides callbacks whenever a particle
0104 traverses a sensitive volume. These callbacks are called
0105 - similar to event actions - once at the start and the end of the event,
0106 but in addition, if either the energy deposit of a particle in the
0107 sensitive volume exceeds some threshold. The callbacks are formalized within
0108 the base class \tts{G4VSensitiveDetector}.