~chris-rogers/maus/emr_mc_digitization

« back to all changes in this revision

Viewing changes to doc/doc_src/detectors/tracker/05-DataStructure/05-DataStructure.tex

  • Committer: Chris Rogers
  • Date: 2014-04-16 11:48:45 UTC
  • mfrom: (707 merge)
  • mto: This revision was merged to the branch mainline in revision 711.
  • Revision ID: chris.rogers@stfc.ac.uk-20140416114845-h3u3q7pdcxkxvovs
Update to trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
\section{Data structure}
 
2
\label{Sect:SciFiDataStructure}
 
3
 
 
4
The tracker data structure, a subset of the general MAUS data structure, is shown in figure~\ref{Fig:DataStructure}.  The basic unit of the MAUS data structure is the spill, representing the data produced by a single actuation of the MICE target.  All MAUS modules (mappers, reducers, etc.) act on one spill at a time.  The spill is then split into two sides, Monte Carlo data and reconstructed data.  A key rule is that MC data must never be stored on the reconstruction side. Each side has its own event class, representing data corresponding to a single MICE particle trigger event.  The relationship between the spill and the MC and recon event objects is one-to-many. 
 
5
 
 
6
\begin{figure}[p]
 
7
  \begin{center}
 
8
    \includegraphics[width=0.85\textwidth]{detectors/tracker/05-DataStructure/Figures/DataStructure.pdf}
 
9
  \end{center}
 
10
  \caption{The tracker data structure and its position within the general MAUS data structure.  An asterisk indicates a vector of pointers. The dotted lines indicate cross links realised as vectors of pointers.}
 
11
  \label{Fig:DataStructure}
 
12
\end{figure}
 
13
 
 
14
Within an MC event the only data object pertaining to the tracker is the SciFiHit, implemented as template class of the generic Hit class.  This class stores the MC data used by the reconstruction to form SciFiDigits (via the map MapCppTrackerMCDigitisation).  The relationship between MC events and SciFiHits is one-to-many.
 
15
 
 
16
On the real data side each recon event holds a single SciFiEvent (a one-to-one relationship). The SciFiEvent then holds a collection (implemented as C++ standard vectors of pointers) for each data type used in the reconstruction process: SciFiDigits, SciFiClusters, SciFiSpacePoints, SciFiStraightPRTracks, SciFiHelicalPRTracks, SciFiStraightKalmanTracks, and  SciFiTracks. Additionally SciFiTrackPoints are held by each SciFiTrack instance.
 
17
 
 
18