source: trunk/documents/UserDoc/UsersGuides/ForToolkitDeveloper/latex/OOAnalysisDesign/Event/event.tex @ 1332

Last change on this file since 1332 was 1208, checked in by garnier, 15 years ago

CVS update

File size: 2.6 KB
Line 
1\chapter{Event}
2
3\section{Design Philosophy}
4
5In high energy physics the primary unit of an experimental run is an event.
6An event consists of a set of primary particles produced in an interaction,
7and a set of detector responses to these particles.
8
9In {\sc Geant4}, objects of the {\it G4Event} class are the primary units of
10a simulation run.  Before the event is processed, it contains primary
11vertices and primary particles produced by an external physics generator. 
12After the event is processed, it may also contain hits, digitizations ,and
13optionally, trajectories generated by the simulation.  The event category
14manages events and provides an abstract interface to external physics
15generators.
16
17{\it G4Event} and its content vertices and particles are independent of
18other classes.  This isolation allows {\sc Geant4}-based simulation programs
19to be independent of specific choices for physics generators and of specific
20solutions for storing the ``Monte Carlo truth''.  {\it G4Event} avoids
21keeping any transient information which is not meaningful after event
22processing is complete.  Thus the user can store objects of this class for
23processing further down the program chain.  For performance reasons,
24{\it G4Event} and its content classes are not persistent.  Instead the user
25must provide the transient-to-persistent conversion.
26 
27\section{Class Design}
28
29\begin{itemize}
30
31\item {\bf G4Event} - This class represents an event.  It is constructed and
32      deleted by G4RunManager or its derived class.
33
34\item {\bf G4EventManager} - This class controls an event.  It must be a
35      singleton and should be constructed by G4RunManager.
36
37\item {\bf G4VPrimaryGenerator} - the abstract base class of all of primary
38      generators.  This class has only one pure virtual method,
39      GeneratePrimaryVertex(), which takes a G4Event object, generates a
40      primary vertex and associates primary particles with the vertex.
41
42\end{itemize}
43
44Booch diagrams for classes related to the event and event generator classes
45are shown in Figs. \ref{figure:event-1} and \ref{figure:eventGen-1},
46respectively.
47
48\vspace{10pt}
49\begin{figure}
50\begin{center}
51\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/Event/classDgmEventManager.eps}
52\caption{Event}
53\label{figure:event-1}
54\end{center}
55\end{figure}
56
57\vspace{10pt}
58\begin{figure}
59\begin{center}
60\includegraphics[angle=0,scale=0.65]{OOAnalysisDesign/EventGenerator/classDgmEventGen.eps}
61\caption{Event Generator}
62\label{figure:eventGen-1}
63\end{center}
64\end{figure}
65
66
67\section{Status of this chapter}
68
6927.06.05 design philosophy section added (from Geant4 general paper) by
70         D.H. Wright \\
71
Note: See TracBrowser for help on using the repository browser.