Back to home page

EIC code displayed by LXR

 
 

    


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}.