]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
New documenation
authorphille <phille@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 May 2007 18:22:52 +0000 (18:22 +0000)
committerphille <phille@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 18 May 2007 18:22:52 +0000 (18:22 +0000)
157 files changed:
HLT/PHOS/latex/AliHLTComponentHandler_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTComponentHandler_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTComponent_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTComponent_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTConfigurationHandler_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTConfiguration_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTConfiguration_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTConsumerDescriptor_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTConsumerDescriptor_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTDataBuffer_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTDataBuffer_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTDataSink_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTDataSink_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTDataSource_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTDataSource_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTDataTypes_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTDefinitions_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTLogging_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTLogging_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTMessage_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTMessage_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTModuleAgent_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTModuleAgent_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTOfflineDataSink_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTOfflineDataSink_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTOfflineDataSource_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTOfflineDataSource_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTOfflineInterface_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTOfflineInterface_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSCellEnergiesFileWriter_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSCellEnergiesFileWriter_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSDDLDecoderComponent_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSDDLDecoderComponent_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSDDLPackedFileWriter_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSDDLPackedFileWriter_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSDataHeaderStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSDefinitions_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSDefinitions_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSFileWriterComponent_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSFileWriterComponent_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSFileWriter_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSFileWriter_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSGetEventButton_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSGetEventButton_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSHistogramProducerComponent_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSHistogramProducerComponent_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSModuleCellAccumulatedEnergyDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSModuleCellAverageEnergyDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSModuleCellEnergyDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSModuleMergerComponent_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSModuleMergerComponent_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSOnlineDisplay_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSOnlineDisplay_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSRcuCellAccumulatedEnergyDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSRcuCellAverageEnergyDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSRcuCellEnergyDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSRcuChannelDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducerComponent_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducerComponent_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducer_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducer_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSValidCellDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTPHOSValidChannelDataStruct_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTProcessor_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTProcessor_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTStdIncludes_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTSystem_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTSystem_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLTTask_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLT__C__Component__WrapperInterface_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/AliHLT__C__Component__WrapperInterface_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/HLTbaseLinkDef_8h.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTComponent.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTComponent.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTComponentHandler.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTComponentHandler.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTComponent_1_1AliHLTStopwatchGuard.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTConfiguration.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTConfiguration.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTConfigurationHandler.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTConfigurationHandler.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTConsumerDescriptor.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTConsumerDescriptor.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTDataBuffer.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTDataBuffer.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTDataBuffer_1_1AliHLTDataSegment.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTDataBuffer_1_1AliHLTRawBuffer.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTDataSink.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTDataSink.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTDataSource.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTDataSource.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTKeyword.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTLogging.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTLogging.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTMessage.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTMessage.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTModuleAgent.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTModuleAgent.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTOfflineDataSink.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTOfflineDataSink.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTOfflineDataSource.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTOfflineDataSource.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTOfflineInterface.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTOfflineInterface.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSCellEnergiesFileWriter.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSCellEnergiesFileWriter.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSDDLDecoderComponent.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSDDLDecoderComponent.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSDDLPackedFileWriter.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSDDLPackedFileWriter.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSDefinitions.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSFileWriter.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSFileWriter.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSFileWriterComponent.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSGetEventButton.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSHistogramProducerComponent.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSHistogramProducerComponent.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSModuleMergerComponent.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSModuleMergerComponent.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSOnlineDisplay.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducer.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducerComponent.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducerComponent.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTProcessor.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTProcessor.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTSystem.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTSystem.tex [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTTask.eps [new file with mode: 0644]
HLT/PHOS/latex/classAliHLTTask.tex [new file with mode: 0644]
HLT/PHOS/latex/dir_000000.tex [new file with mode: 0644]
HLT/PHOS/latex/dir_000001.tex [new file with mode: 0644]
HLT/PHOS/latex/dirs.tex [new file with mode: 0644]
HLT/PHOS/latex/group__alihlt__component.tex [new file with mode: 0644]
HLT/PHOS/latex/group__alihlt__system.tex [new file with mode: 0644]
HLT/PHOS/latex/group__alihlt__wrapper__interface.tex [new file with mode: 0644]
HLT/PHOS/latex/main_8cxx.tex [new file with mode: 0644]
HLT/PHOS/latex/modules.tex [new file with mode: 0644]
HLT/PHOS/latex/namespaces.tex [new file with mode: 0644]
HLT/PHOS/latex/namespacestd.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTComponentBlockData.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTComponentDataType.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTComponentEnvironment.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTComponentEventData.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTComponentEventDoneData.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTComponentHandler_1_1AliHLTLibHandle.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTComponentShmData.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTComponentTriggerData.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSDataHeaderStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSModuleCellAccumulatedEnergyDataStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSModuleCellAverageEnergyDataStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSModuleCellEnergyDataStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSRcuCellAverageEnergyDataStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSRcuCellEnergyDataStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSRcuChannelDataStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSValidCellDataStruct.tex [new file with mode: 0644]
HLT/PHOS/latex/structAliHLTPHOSValidChannelDataStruct.tex [new file with mode: 0644]

diff --git a/HLT/PHOS/latex/AliHLTComponentHandler_8cxx.tex b/HLT/PHOS/latex/AliHLTComponentHandler_8cxx.tex
new file mode 100644 (file)
index 0000000..53f3fcf
--- /dev/null
@@ -0,0 +1,56 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTComponent\-Handler.cxx File Reference}
+\label{AliHLTComponentHandler_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTComponentHandler.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTComponentHandler.cxx}}
+
+
+\subsection{Detailed Description}
+Implementation of HLT component handler. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTComponent\-Handler.cxx}.
+
+{\tt \#include $<$TSystem.h$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent\-Handler.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}TString.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTComponent\-Handler}) {\bf Ali\-HLTComponent\-Handler}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTComponentHandler.cxx@{Ali\-HLTComponent\-Handler.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTComponentHandler.cxx@{Ali\-HLTComponent\-Handler.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTComponent\-Handler})}\label{AliHLTComponentHandler_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 48 of file Ali\-HLTComponent\-Handler.cxx.
+
+\footnotesize\begin{verbatim}51   :
+52   fComponentList(),
+53   fScheduleList(),
+54   fLibraryList(),
+55   fEnvironment(),
+56   fStandardList()
+57 {
+58   // see header file for class documentation
+59   // or
+60   // refer to README to build package
+61   // or
+62   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+63   memset(&fEnvironment, 0, sizeof(AliHLTComponentEnvironment));
+64   AddStandardComponents();
+65 }
+
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTComponentHandler_8h.tex b/HLT/PHOS/latex/AliHLTComponentHandler_8h.tex
new file mode 100644 (file)
index 0000000..cd004a7
--- /dev/null
@@ -0,0 +1,27 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTComponent\-Handler.h File Reference}
+\label{AliHLTComponentHandler_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTComponentHandler.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTComponentHandler.h}}
+
+
+\subsection{Detailed Description}
+Global handling of HLT processing components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The handler is part of the interface and both used in the Online (Pub\-Sub) and Offline (Ali\-Root) context.\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTComponent\-Handler.h}.
+
+{\tt \#include $<$vector$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTComponent\-Handler}
+\item 
+struct {\bf Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTComponent_8cxx.tex b/HLT/PHOS/latex/AliHLTComponent_8cxx.tex
new file mode 100644 (file)
index 0000000..57db2a1
--- /dev/null
@@ -0,0 +1,95 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTComponent.cxx File Reference}
+\label{AliHLTComponent_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTComponent.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTComponent.cxx}}
+
+
+\subsection{Detailed Description}
+Base class implementation for HLT components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTComponent.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent\-Handler.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTMessage.h\char`\"{}}\par
+{\tt \#include \char`\"{}TString.h\char`\"{}}\par
+{\tt \#include \char`\"{}TObj\-Array.h\char`\"{}}\par
+{\tt \#include \char`\"{}TClass.h\char`\"{}}\par
+{\tt \#include \char`\"{}TStopwatch.h\char`\"{}}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf ALIHLTCOMPONENT\_\-STOPWATCH}(type)\ Ali\-HLTStopwatch\-Guard swguard(fp\-Stopwatches!=NULL?reinterpret\_\-cast$<$TStopwatch$\ast$$>$(fp\-Stopwatches $\rightarrow$ At((int)type)):NULL)
+\item 
+\#define {\bf ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH}()\ ALIHLTCOMPONENT\_\-STOPWATCH(k\-SWBase)
+\item 
+\#define {\bf ALIHLTCOMPONENT\_\-DA\_\-STOPWATCH}()\ ALIHLTCOMPONENT\_\-STOPWATCH(k\-SWDA)
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTComponent})
+\end{CompactItemize}
+
+
+\subsection{Define Documentation}
+\index{AliHLTComponent.cxx@{Ali\-HLTComponent.cxx}!ALIHLTCOMPONENT_BASE_STOPWATCH@{ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH}}
+\index{ALIHLTCOMPONENT_BASE_STOPWATCH@{ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH}!AliHLTComponent.cxx@{Ali\-HLTComponent.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH()\ ALIHLTCOMPONENT\_\-STOPWATCH(k\-SWBase)}\label{AliHLTComponent_8cxx_a1}
+
+
+stopwatch macro for operations of the base class 
+
+Definition at line 45 of file Ali\-HLTComponent.cxx.
+
+Referenced by Ali\-HLTComponent::Get\-Data\-Type(), Ali\-HLTComponent::Get\-First\-Input\-Block(), Ali\-HLTComponent::Get\-First\-Input\-Object(), Ali\-HLTComponent::Get\-Next\-Input\-Block(), Ali\-HLTComponent::Get\-Next\-Input\-Object(), Ali\-HLTComponent::Get\-Specification(), Ali\-HLTComponent::Process\-Event(), and Ali\-HLTComponent::Push\-Back().\index{AliHLTComponent.cxx@{Ali\-HLTComponent.cxx}!ALIHLTCOMPONENT_DA_STOPWATCH@{ALIHLTCOMPONENT\_\-DA\_\-STOPWATCH}}
+\index{ALIHLTCOMPONENT_DA_STOPWATCH@{ALIHLTCOMPONENT\_\-DA\_\-STOPWATCH}!AliHLTComponent.cxx@{Ali\-HLTComponent.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define ALIHLTCOMPONENT\_\-DA\_\-STOPWATCH()\ ALIHLTCOMPONENT\_\-STOPWATCH(k\-SWDA)}\label{AliHLTComponent_8cxx_a2}
+
+
+stopwatch macro for operations of the detector algorithm (DA) 
+
+Definition at line 47 of file Ali\-HLTComponent.cxx.
+
+Referenced by Ali\-HLTComponent::Process\-Event().\index{AliHLTComponent.cxx@{Ali\-HLTComponent.cxx}!ALIHLTCOMPONENT_STOPWATCH@{ALIHLTCOMPONENT\_\-STOPWATCH}}
+\index{ALIHLTCOMPONENT_STOPWATCH@{ALIHLTCOMPONENT\_\-STOPWATCH}!AliHLTComponent.cxx@{Ali\-HLTComponent.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define ALIHLTCOMPONENT\_\-STOPWATCH(type)\ Ali\-HLTStopwatch\-Guard swguard(fp\-Stopwatches!=NULL?reinterpret\_\-cast$<$TStopwatch$\ast$$>$(fp\-Stopwatches $\rightarrow$ At((int)type)):NULL)}\label{AliHLTComponent_8cxx_a0}
+
+
+stopwatch macro using the stopwatch guard 
+
+Definition at line 41 of file Ali\-HLTComponent.cxx.
+
+\subsection{Function Documentation}
+\index{AliHLTComponent.cxx@{Ali\-HLTComponent.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTComponent.cxx@{Ali\-HLTComponent.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTComponent\-Handler})}\label{AliHLTComponent_8cxx_a3}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 48 of file Ali\-HLTComponent\-Handler.cxx.
+
+\footnotesize\begin{verbatim}51   :
+52   fComponentList(),
+53   fScheduleList(),
+54   fLibraryList(),
+55   fEnvironment(),
+56   fStandardList()
+57 {
+58   // see header file for class documentation
+59   // or
+60   // refer to README to build package
+61   // or
+62   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+63   memset(&fEnvironment, 0, sizeof(AliHLTComponentEnvironment));
+64   AddStandardComponents();
+65 }
+
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTComponent_8h.tex b/HLT/PHOS/latex/AliHLTComponent_8h.tex
new file mode 100644 (file)
index 0000000..443485b
--- /dev/null
@@ -0,0 +1,98 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTComponent.h File Reference}
+\label{AliHLTComponent_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTComponent.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTComponent.h}}
+
+
+\subsection{Detailed Description}
+Base class declaration for HLT components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is both used in Online (Pub\-Sub) and Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTComponent.h}.
+
+{\tt \#include $<$vector$>$}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTComponent}
+\item 
+class {\bf Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}
+\end{CompactItemize}
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+typedef {\bf Ali\-HLTComponent\-Log\-Severity} {\bf Ali\-HLTComponent\_\-Log\-Severity}
+\item 
+typedef {\bf Ali\-HLTComponent\-Event\-Data} {\bf Ali\-HLTComponent\_\-Event\-Data}
+\item 
+typedef {\bf Ali\-HLTComponent\-Shm\-Data} {\bf Ali\-HLTComponent\_\-Shm\-Data}
+\item 
+typedef {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTComponent\_\-Data\-Type}
+\item 
+typedef {\bf Ali\-HLTComponent\-Block\-Data} {\bf Ali\-HLTComponent\_\-Block\-Data}
+\item 
+typedef {\bf Ali\-HLTComponent\-Trigger\-Data} {\bf Ali\-HLTComponent\_\-Trigger\-Data}
+\item 
+typedef {\bf Ali\-HLTComponent\-Event\-Done\-Data} {\bf Ali\-HLTComponent\_\-Event\-Done\-Data}
+\end{CompactItemize}
+
+
+\subsection{Typedef Documentation}
+\index{AliHLTComponent.h@{Ali\-HLTComponent.h}!AliHLTComponent_BlockData@{AliHLTComponent\_\-BlockData}}
+\index{AliHLTComponent_BlockData@{AliHLTComponent\_\-BlockData}!AliHLTComponent.h@{Ali\-HLTComponent.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Block\-Data} {\bf Ali\-HLTComponent\_\-Block\-Data}}\label{AliHLTComponent_8h_a4}
+
+
+
+
+Definition at line 36 of file Ali\-HLTComponent.h.\index{AliHLTComponent.h@{Ali\-HLTComponent.h}!AliHLTComponent_DataType@{AliHLTComponent\_\-DataType}}
+\index{AliHLTComponent_DataType@{AliHLTComponent\_\-DataType}!AliHLTComponent.h@{Ali\-HLTComponent.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTComponent\_\-Data\-Type}}\label{AliHLTComponent_8h_a3}
+
+
+
+
+Definition at line 35 of file Ali\-HLTComponent.h.\index{AliHLTComponent.h@{Ali\-HLTComponent.h}!AliHLTComponent_EventData@{AliHLTComponent\_\-EventData}}
+\index{AliHLTComponent_EventData@{AliHLTComponent\_\-EventData}!AliHLTComponent.h@{Ali\-HLTComponent.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Event\-Data} {\bf Ali\-HLTComponent\_\-Event\-Data}}\label{AliHLTComponent_8h_a1}
+
+
+
+
+Definition at line 33 of file Ali\-HLTComponent.h.\index{AliHLTComponent.h@{Ali\-HLTComponent.h}!AliHLTComponent_EventDoneData@{AliHLTComponent\_\-EventDoneData}}
+\index{AliHLTComponent_EventDoneData@{AliHLTComponent\_\-EventDoneData}!AliHLTComponent.h@{Ali\-HLTComponent.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Event\-Done\-Data} {\bf Ali\-HLTComponent\_\-Event\-Done\-Data}}\label{AliHLTComponent_8h_a6}
+
+
+
+
+Definition at line 38 of file Ali\-HLTComponent.h.\index{AliHLTComponent.h@{Ali\-HLTComponent.h}!AliHLTComponent_LogSeverity@{AliHLTComponent\_\-LogSeverity}}
+\index{AliHLTComponent_LogSeverity@{AliHLTComponent\_\-LogSeverity}!AliHLTComponent.h@{Ali\-HLTComponent.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Log\-Severity} {\bf Ali\-HLTComponent\_\-Log\-Severity}}\label{AliHLTComponent_8h_a0}
+
+
+
+
+Definition at line 32 of file Ali\-HLTComponent.h.\index{AliHLTComponent.h@{Ali\-HLTComponent.h}!AliHLTComponent_ShmData@{AliHLTComponent\_\-ShmData}}
+\index{AliHLTComponent_ShmData@{AliHLTComponent\_\-ShmData}!AliHLTComponent.h@{Ali\-HLTComponent.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Shm\-Data} {\bf Ali\-HLTComponent\_\-Shm\-Data}}\label{AliHLTComponent_8h_a2}
+
+
+
+
+Definition at line 34 of file Ali\-HLTComponent.h.\index{AliHLTComponent.h@{Ali\-HLTComponent.h}!AliHLTComponent_TriggerData@{AliHLTComponent\_\-TriggerData}}
+\index{AliHLTComponent_TriggerData@{AliHLTComponent\_\-TriggerData}!AliHLTComponent.h@{Ali\-HLTComponent.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Trigger\-Data} {\bf Ali\-HLTComponent\_\-Trigger\-Data}}\label{AliHLTComponent_8h_a5}
+
+
+
+
+Definition at line 37 of file Ali\-HLTComponent.h.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTConfigurationHandler_8h.tex b/HLT/PHOS/latex/AliHLTConfigurationHandler_8h.tex
new file mode 100644 (file)
index 0000000..04aa199
--- /dev/null
@@ -0,0 +1,21 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTConfiguration\-Handler.h File Reference}
+\label{AliHLTConfigurationHandler_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTConfigurationHandler.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTConfigurationHandler.h}}
+
+
+\subsection{Detailed Description}
+Global handling of HLT configurations. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTConfiguration\-Handler.h}.
+
+{\tt \#include $<$TList.h$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTConfiguration\-Handler}
+\begin{CompactList}\small\item\em Global Handling of HLT configurations. \item\end{CompactList}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTConfiguration_8cxx.tex b/HLT/PHOS/latex/AliHLTConfiguration_8cxx.tex
new file mode 100644 (file)
index 0000000..1d882ec
--- /dev/null
@@ -0,0 +1,85 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTConfiguration.cxx File Reference}
+\label{AliHLTConfiguration_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTConfiguration.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTConfiguration.cxx}}
+
+
+\subsection{Detailed Description}
+Implementation of HLT configuration handler. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTConfiguration.cxx}.
+
+{\tt \#include $<$cerrno$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTConfiguration.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTConfiguration\-Handler.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTTask.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent\-Handler.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include \char`\"{}TList.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTConfiguration}) {\bf Ali\-HLTConfiguration}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTTask}) {\bf Ali\-HLTTask}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTConfiguration.cxx@{Ali\-HLTConfiguration.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTConfiguration.cxx@{Ali\-HLTConfiguration.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTTask})}\label{AliHLTConfiguration_8cxx_a1}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 421 of file Ali\-HLTConfiguration.cxx.
+
+\footnotesize\begin{verbatim}424   :
+425   fpConfiguration(NULL),
+426   fpComponent(NULL),
+427   fpDataBuffer(NULL),
+428   fListTargets(),
+429   fListDependencies(),
+430   fpBlockDataArray(NULL),
+431   fBlockDataArraySize(0)
+432 {
+433   // see header file for function documentation
+434 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration.cxx@{Ali\-HLTConfiguration.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTConfiguration.cxx@{Ali\-HLTConfiguration.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTConfiguration})}\label{AliHLTConfiguration_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 39 of file Ali\-HLTConfiguration.cxx.
+
+\footnotesize\begin{verbatim}42   :
+43   fID(""),
+44   fComponent(""),
+45   fStringSources(""),
+46   fNofSources(-1),
+47   fListSources(),
+48   fListSrcElement(),
+49   fArguments(""),
+50   fArgc(-1),
+51   fArgv(NULL)
+52 { 
+53   // see header file for function documentation
+54   fListSrcElement=fListSources.begin();
+55 }
+
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTConfiguration_8h.tex b/HLT/PHOS/latex/AliHLTConfiguration_8h.tex
new file mode 100644 (file)
index 0000000..6311156
--- /dev/null
@@ -0,0 +1,29 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTConfiguration.h File Reference}
+\label{AliHLTConfiguration_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTConfiguration.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTConfiguration.h}}
+
+
+\subsection{Detailed Description}
+Base class and handling of HLT configurations. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is used in Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTConfiguration.h}.
+
+{\tt \#include $<$cerrno$>$}\par
+{\tt \#include $<$vector$>$}\par
+{\tt \#include $<$TObject.h$>$}\par
+{\tt \#include $<$TList.h$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Buffer.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTConfiguration}
+\begin{CompactList}\small\item\em Description of HLT processing chains. \item\end{CompactList}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTConsumerDescriptor_8cxx.tex b/HLT/PHOS/latex/AliHLTConsumerDescriptor_8cxx.tex
new file mode 100644 (file)
index 0000000..41a374c
--- /dev/null
@@ -0,0 +1,48 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTConsumer\-Descriptor.cxx File Reference}
+\label{AliHLTConsumerDescriptor_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTConsumerDescriptor.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTConsumerDescriptor.cxx}}
+
+
+\subsection{Detailed Description}
+Helper class to describe a consumer component. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTConsumer\-Descriptor.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTConsumer\-Descriptor.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTConsumer\-Descriptor}) {\bf Ali\-HLTConsumer\-Descriptor}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTConsumerDescriptor.cxx@{Ali\-HLTConsumer\-Descriptor.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTConsumerDescriptor.cxx@{Ali\-HLTConsumer\-Descriptor.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTConsumer\-Descriptor})}\label{AliHLTConsumerDescriptor_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 31 of file Ali\-HLTConsumer\-Descriptor.cxx.
+
+\footnotesize\begin{verbatim}34   :
+35   fpConsumer(NULL),
+36   fSegments()
+37 {
+38   // see header file for class documentation
+39   // or
+40   // refer to README to build package
+41   // or
+42   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+43   fSegments.clear();
+44 }
+
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTConsumerDescriptor_8h.tex b/HLT/PHOS/latex/AliHLTConsumerDescriptor_8h.tex
new file mode 100644 (file)
index 0000000..395dd75
--- /dev/null
@@ -0,0 +1,23 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTConsumer\-Descriptor.h File Reference}
+\label{AliHLTConsumerDescriptor_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTConsumerDescriptor.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTConsumerDescriptor.h}}
+
+
+\subsection{Detailed Description}
+Helper class to describe a consumer component. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is used in Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTConsumer\-Descriptor.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Buffer.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTConsumer\-Descriptor}
+\begin{CompactList}\small\item\em Helper class to describe a consumer component. \item\end{CompactList}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTDataBuffer_8cxx.tex b/HLT/PHOS/latex/AliHLTDataBuffer_8cxx.tex
new file mode 100644 (file)
index 0000000..fbf626c
--- /dev/null
@@ -0,0 +1,59 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTData\-Buffer.cxx File Reference}
+\label{AliHLTDataBuffer_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTDataBuffer.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTDataBuffer.cxx}}
+
+
+\subsection{Detailed Description}
+Handling of Data Buffers for HLT components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTData\-Buffer.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Buffer.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTConsumer\-Descriptor.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+{\tt \#include $<$cerrno$>$}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTData\-Buffer}) {\bf Ali\-HLTData\-Buffer}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTDataBuffer.cxx@{Ali\-HLTData\-Buffer.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTDataBuffer.cxx@{Ali\-HLTData\-Buffer.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTData\-Buffer})}\label{AliHLTDataBuffer_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 36 of file Ali\-HLTData\-Buffer.cxx.
+
+\footnotesize\begin{verbatim}39   :
+40   fSegments(),
+41   fConsumers(),
+42   fActiveConsumers(),
+43   fReleasedConsumers(),
+44   fpBuffer(NULL),
+45   fFlags(0)
+46 {
+47   // see header file for class documentation
+48   // or
+49   // refer to README to build package
+50   // or
+51   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+52   fSegments.empty();
+53   fConsumers.empty();
+54   fActiveConsumers.empty();
+55   fReleasedConsumers.empty();
+56   fgNofInstances++;
+57 }
+
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTDataBuffer_8h.tex b/HLT/PHOS/latex/AliHLTDataBuffer_8h.tex
new file mode 100644 (file)
index 0000000..4ebed82
--- /dev/null
@@ -0,0 +1,30 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTData\-Buffer.h File Reference}
+\label{AliHLTDataBuffer_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTDataBuffer.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTDataBuffer.h}}
+
+
+\subsection{Detailed Description}
+Handling of Data Buffers for HLT components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is used in Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTData\-Buffer.h}.
+
+{\tt \#include $<$vector$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}TObject.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTData\-Buffer}
+\begin{CompactList}\small\item\em Handling of data buffers for the HLT. \item\end{CompactList}\item 
+class {\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}
+\begin{CompactList}\small\item\em Descriptor of a data segment within the buffer. \item\end{CompactList}\item 
+class {\bf Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}
+\begin{CompactList}\small\item\em Descriptor of the raw data buffer which can host several segments. \item\end{CompactList}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTDataSink_8cxx.tex b/HLT/PHOS/latex/AliHLTDataSink_8cxx.tex
new file mode 100644 (file)
index 0000000..7eab2b4
--- /dev/null
@@ -0,0 +1,43 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTData\-Sink.cxx File Reference}
+\label{AliHLTDataSink_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTDataSink.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTDataSink.cxx}}
+
+
+\subsection{Detailed Description}
+Base class implementation for HLT data source components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTData\-Sink.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Sink.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTData\-Sink}) {\bf Ali\-HLTData\-Sink}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTDataSink.cxx@{Ali\-HLTData\-Sink.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTDataSink.cxx@{Ali\-HLTData\-Sink.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTData\-Sink})}\label{AliHLTDataSink_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 30 of file Ali\-HLTData\-Sink.cxx.
+
+\footnotesize\begin{verbatim}33 { 
+34   // see header file for class documentation
+35   // or
+36   // refer to README to build package
+37   // or
+38   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+39 }
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTDataSink_8h.tex b/HLT/PHOS/latex/AliHLTDataSink_8h.tex
new file mode 100644 (file)
index 0000000..7eaa5ec
--- /dev/null
@@ -0,0 +1,23 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTData\-Sink.h File Reference}
+\label{AliHLTDataSink_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTDataSink.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTDataSink.h}}
+
+
+\subsection{Detailed Description}
+Base class declaration for HLT data sink components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is used in Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTData\-Sink.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTData\-Sink}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTDataSource_8cxx.tex b/HLT/PHOS/latex/AliHLTDataSource_8cxx.tex
new file mode 100644 (file)
index 0000000..98e255f
--- /dev/null
@@ -0,0 +1,43 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTData\-Source.cxx File Reference}
+\label{AliHLTDataSource_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTDataSource.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTDataSource.cxx}}
+
+
+\subsection{Detailed Description}
+Base class implementation for HLT data source components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTData\-Source.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Source.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTData\-Source}) {\bf Ali\-HLTData\-Source}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTDataSource.cxx@{Ali\-HLTData\-Source.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTDataSource.cxx@{Ali\-HLTData\-Source.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTData\-Source})}\label{AliHLTDataSource_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 30 of file Ali\-HLTData\-Source.cxx.
+
+\footnotesize\begin{verbatim}33 { 
+34   // see header file for class documentation
+35   // or
+36   // refer to README to build package
+37   // or
+38   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+39 }
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTDataSource_8h.tex b/HLT/PHOS/latex/AliHLTDataSource_8h.tex
new file mode 100644 (file)
index 0000000..0d788ff
--- /dev/null
@@ -0,0 +1,23 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTData\-Source.h File Reference}
+\label{AliHLTDataSource_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTDataSource.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTDataSource.h}}
+
+
+\subsection{Detailed Description}
+Base class declaration for HLT data source components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is used in Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTData\-Source.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTData\-Source}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTDataTypes_8h.tex b/HLT/PHOS/latex/AliHLTDataTypes_8h.tex
new file mode 100644 (file)
index 0000000..54d8b9d
--- /dev/null
@@ -0,0 +1,349 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTData\-Types.h File Reference}
+\label{AliHLTDataTypes_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTDataTypes.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTDataTypes.h}}
+
+
+\subsection{Detailed Description}
+Data type declaration for the HLT module. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTData\-Types.h}.
+
+\subsection*{Namespaces}
+\begin{CompactItemize}
+\item 
+namespace {\bf std}
+\end{CompactItemize}
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTComponent\-Event\-Data}
+\item 
+struct {\bf Ali\-HLTComponent\-Shm\-Data}
+\item 
+struct {\bf Ali\-HLTComponent\-Data\-Type}
+\item 
+struct {\bf Ali\-HLTComponent\-Block\-Data}
+\item 
+struct {\bf Ali\-HLTComponent\-Trigger\-Data}
+\item 
+struct {\bf Ali\-HLTComponent\-Event\-Done\-Data}
+\item 
+struct {\bf Ali\-HLTComponent\-Environment}
+\end{CompactItemize}
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf k\-Ali\-HLTVoid\-Data\-Type\-ID}\ \char`\"{}$\backslash$0$\backslash$0$\backslash$0$\backslash$0$\backslash$0$\backslash$0$\backslash$0\char`\"{}
+\item 
+\#define {\bf k\-Ali\-HLTVoid\-Data\-Origin}\ \char`\"{}$\backslash$0$\backslash$0$\backslash$0\char`\"{}
+\item 
+\#define {\bf k\-Ali\-HLTAny\-Data\-Type\-ID}\ \char`\"{}$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$\char`\"{}
+\item 
+\#define {\bf k\-Ali\-HLTAny\-Data\-Origin}\ \char`\"{}$\ast$$\ast$$\ast$\char`\"{}
+\end{CompactItemize}
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+typedef unsigned char {\bf Ali\-HLTUInt8\_\-t}
+\item 
+typedef unsigned short {\bf Ali\-HLTUInt16\_\-t}
+\item 
+typedef unsigned int {\bf Ali\-HLTUInt32\_\-t}
+\item 
+typedef unsigned long long {\bf Ali\-HLTUInt64\_\-t}
+\item 
+typedef {\bf Ali\-HLTUInt64\_\-t} {\bf Ali\-HLTEvent\-ID\_\-t}
+\item 
+typedef int($\ast$ {\bf Ali\-HLTfct\-Logging} )(void $\ast$param, {\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin, const char $\ast$keyword, const char $\ast$message)
+\end{CompactItemize}
+\subsection*{Enumerations}
+\begin{CompactItemize}
+\item 
+enum {\bf Ali\-HLTComponent\-Log\-Severity} \{ \par
+{\bf k\-HLTLog\-None} = 0, 
+{\bf k\-HLTLog\-Benchmark} = 1, 
+{\bf k\-HLTLog\-Debug} = 2, 
+{\bf k\-HLTLog\-Info} = 4, 
+\par
+{\bf k\-HLTLog\-Warning} = 8, 
+{\bf k\-HLTLog\-Error} = 16, 
+{\bf k\-HLTLog\-Fatal} = 32, 
+{\bf k\-HLTLog\-All} = 0x3f, 
+\par
+{\bf k\-HLTLog\-Default} = 0x3d
+ \}
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+bool {\bf operator==} (const {\bf Ali\-HLTComponent\-Data\-Type} \&dt1, const {\bf Ali\-HLTComponent\-Data\-Type} \&dt2)
+\item 
+bool {\bf operator!=} (const {\bf Ali\-HLTComponent\-Data\-Type} \&dt1, const {\bf Ali\-HLTComponent\-Data\-Type} \&dt2)
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTEvent\-ID\_\-t} {\bf k\-Ali\-HLTVoid\-Event\-ID} = $\sim$({\bf Ali\-HLTEvent\-ID\_\-t})0
+\item 
+const {\bf Ali\-HLTUInt32\_\-t} {\bf gk\-Ali\-HLTComponent\-Invalid\-Shm\-Type} = 0
+\item 
+const {\bf Ali\-HLTUInt64\_\-t} {\bf gk\-Ali\-HLTComponent\-Invalid\-Shm\-ID} = $\sim$({\bf Ali\-HLTUInt64\_\-t})0
+\item 
+const int {\bf k\-Ali\-HLTComponent\-Data\-Typef\-IDsize} = 8
+\item 
+const int {\bf k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size} = 4
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf k\-Ali\-HLTVoid\-Data\-Type} = \{sizeof({\bf Ali\-HLTComponent\-Data\-Type}), k\-Ali\-HLTVoid\-Data\-Type\-ID, k\-Ali\-HLTVoid\-Data\-Origin\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf k\-Ali\-HLTAny\-Data\-Type} = \{sizeof({\bf Ali\-HLTComponent\-Data\-Type}), k\-Ali\-HLTAny\-Data\-Type\-ID, k\-Ali\-HLTAny\-Data\-Origin\}
+\item 
+const {\bf Ali\-HLTUInt32\_\-t} {\bf k\-Ali\-HLTVoid\-Data\-Spec} = $\sim$({\bf Ali\-HLTUInt32\_\-t})0
+\end{CompactItemize}
+
+
+\subsection{Define Documentation}
+\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTAnyDataOrigin@{kAliHLTAnyDataOrigin}}
+\index{kAliHLTAnyDataOrigin@{kAliHLTAnyDataOrigin}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define k\-Ali\-HLTAny\-Data\-Origin\ \char`\"{}$\ast$$\ast$$\ast$\char`\"{}}\label{AliHLTDataTypes_8h_a3}
+
+
+
+
+Definition at line 62 of file Ali\-HLTData\-Types.h.\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTAnyDataTypeID@{kAliHLTAnyDataTypeID}}
+\index{kAliHLTAnyDataTypeID@{kAliHLTAnyDataTypeID}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define k\-Ali\-HLTAny\-Data\-Type\-ID\ \char`\"{}$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$\char`\"{}}\label{AliHLTDataTypes_8h_a2}
+
+
+
+
+Definition at line 61 of file Ali\-HLTData\-Types.h.\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTVoidDataOrigin@{kAliHLTVoidDataOrigin}}
+\index{kAliHLTVoidDataOrigin@{kAliHLTVoidDataOrigin}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define k\-Ali\-HLTVoid\-Data\-Origin\ \char`\"{}$\backslash$0$\backslash$0$\backslash$0\char`\"{}}\label{AliHLTDataTypes_8h_a1}
+
+
+
+
+Definition at line 60 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTData\-Sink::Get\-Output\-Data\-Type().\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTVoidDataTypeID@{kAliHLTVoidDataTypeID}}
+\index{kAliHLTVoidDataTypeID@{kAliHLTVoidDataTypeID}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define k\-Ali\-HLTVoid\-Data\-Type\-ID\ \char`\"{}$\backslash$0$\backslash$0$\backslash$0$\backslash$0$\backslash$0$\backslash$0$\backslash$0\char`\"{}}\label{AliHLTDataTypes_8h_a0}
+
+
+
+
+Definition at line 59 of file Ali\-HLTData\-Types.h.
+
+\subsection{Typedef Documentation}
+\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!AliHLTEventID_t@{AliHLTEventID\_\-t}}
+\index{AliHLTEventID_t@{AliHLTEventID\_\-t}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTUInt64\_\-t} {\bf Ali\-HLTEvent\-ID\_\-t}}\label{AliHLTDataTypes_8h_a8}
+
+
+
+
+Definition at line 26 of file Ali\-HLTData\-Types.h.\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!AliHLTfctLogging@{AliHLTfctLogging}}
+\index{AliHLTfctLogging@{AliHLTfctLogging}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ {\bf Ali\-HLTfct\-Logging})(void $\ast$param, {\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin, const char $\ast$keyword, const char $\ast$message)}\label{AliHLTDataTypes_8h_a17}
+
+
+
+
+Definition at line 92 of file Ali\-HLTData\-Types.h.\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!AliHLTUInt16_t@{AliHLTUInt16\_\-t}}
+\index{AliHLTUInt16_t@{AliHLTUInt16\_\-t}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned short {\bf Ali\-HLTUInt16\_\-t}}\label{AliHLTDataTypes_8h_a5}
+
+
+
+
+Definition at line 20 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Init(), Ali\-HLTPHOSOnline\-Display::Get\-Histogram(), Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw(), and Ali\-HLTPHOSRaw\-Analyzer\-Component::Set\-Equippment\-ID().\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!AliHLTUInt32_t@{AliHLTUInt32\_\-t}}
+\index{AliHLTUInt32_t@{AliHLTUInt32\_\-t}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned int {\bf Ali\-HLTUInt32\_\-t}}\label{AliHLTDataTypes_8h_a6}
+
+
+
+
+Definition at line 22 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Create\-Input\-Object(), Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw(), Ali\-HLTComponent::Get\-Specification(), Ali\-HLTComponent::Make\-Output\-Data\-Block\-List(), and Ali\-HLTTask::Process\-Task().\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!AliHLTUInt64_t@{AliHLTUInt64\_\-t}}
+\index{AliHLTUInt64_t@{AliHLTUInt64\_\-t}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned long long {\bf Ali\-HLTUInt64\_\-t}}\label{AliHLTDataTypes_8h_a7}
+
+
+
+
+Definition at line 24 of file Ali\-HLTData\-Types.h.\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!AliHLTUInt8_t@{AliHLTUInt8\_\-t}}
+\index{AliHLTUInt8_t@{AliHLTUInt8\_\-t}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned char {\bf Ali\-HLTUInt8\_\-t}}\label{AliHLTDataTypes_8h_a4}
+
+
+
+
+Definition at line 18 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Init(), Ali\-HLTData\-Buffer::Get\-Target\-Buffer(), Ali\-HLTComponent::Insert\-Output\-Block(), and Ali\-HLTTask::Process\-Task().
+
+\subsection{Enumeration Type Documentation}
+\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!AliHLTComponentLogSeverity@{AliHLTComponentLogSeverity}}
+\index{AliHLTComponentLogSeverity@{AliHLTComponentLogSeverity}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ali\-HLTComponent\-Log\-Severity}}\label{AliHLTDataTypes_8h_a29}
+
+
+\begin{Desc}
+\item[Enumeration values: ]\par
+\begin{description}
+\index{kHLTLogNone@{kHLTLogNone}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogNone@{kHLTLogNone}}\item[{\em 
+k\-HLTLog\-None\label{AliHLTDataTypes_8h_a29a18}
+}]\index{kHLTLogBenchmark@{kHLTLogBenchmark}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogBenchmark@{kHLTLogBenchmark}}\item[{\em 
+k\-HLTLog\-Benchmark\label{AliHLTDataTypes_8h_a29a19}
+}]\index{kHLTLogDebug@{kHLTLogDebug}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogDebug@{kHLTLogDebug}}\item[{\em 
+k\-HLTLog\-Debug\label{AliHLTDataTypes_8h_a29a20}
+}]\index{kHLTLogInfo@{kHLTLogInfo}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogInfo@{kHLTLogInfo}}\item[{\em 
+k\-HLTLog\-Info\label{AliHLTDataTypes_8h_a29a21}
+}]\index{kHLTLogWarning@{kHLTLogWarning}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogWarning@{kHLTLogWarning}}\item[{\em 
+k\-HLTLog\-Warning\label{AliHLTDataTypes_8h_a29a22}
+}]\index{kHLTLogError@{kHLTLogError}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogError@{kHLTLogError}}\item[{\em 
+k\-HLTLog\-Error\label{AliHLTDataTypes_8h_a29a23}
+}]\index{kHLTLogFatal@{kHLTLogFatal}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogFatal@{kHLTLogFatal}}\item[{\em 
+k\-HLTLog\-Fatal\label{AliHLTDataTypes_8h_a29a24}
+}]\index{kHLTLogAll@{kHLTLogAll}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogAll@{kHLTLogAll}}\item[{\em 
+k\-HLTLog\-All\label{AliHLTDataTypes_8h_a29a25}
+}]\index{kHLTLogDefault@{kHLTLogDefault}!AliHLTDataTypes.h@{AliHLTDataTypes.h}}\index{AliHLTDataTypes.h@{AliHLTDataTypes.h}!kHLTLogDefault@{kHLTLogDefault}}\item[{\em 
+k\-HLTLog\-Default\label{AliHLTDataTypes_8h_a29a26}
+}]\end{description}
+\end{Desc}
+
+
+
+Definition at line 28 of file Ali\-HLTData\-Types.h.
+
+Referenced by Class\-Imp(), Ali\-HLTLogging::Get\-Global\-Logging\-Level(), Ali\-HLTLogging::Get\-Local\-Logging\-Level(), Ali\-HLTComponent::Init(), and Ali\-HLTLogging::Init\-Ali\-Log\-Trap().
+
+\footnotesize\begin{verbatim}28 { kHLTLogNone=0, kHLTLogBenchmark=1, kHLTLogDebug=2, kHLTLogInfo=4, kHLTLogWarning=8, kHLTLogError=16, kHLTLogFatal=32, kHLTLogAll=0x3f, kHLTLogDefault=0x3d };
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Function Documentation}
+\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!operator"!=@{operator"!=}}
+\index{operator"!=@{operator"!=}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool operator!= (const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt1}, const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt2})\hspace{0.3cm}{\tt  [inline]}}\label{AliHLTDataTypes_8h_a28}
+
+
+
+
+Definition at line 118 of file Ali\-HLTData\-Types.h.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID, and Ali\-HLTComponent\-Data\-Type::f\-Origin.
+
+\footnotesize\begin{verbatim}119     {
+120     for ( int i = 0; i < kAliHLTComponentDataTypefIDsize; i++ )
+121         if ( dt1.fID[i] != dt2.fID[i] )
+122             return true;
+123     for ( int i = 0; i < kAliHLTComponentDataTypefOriginSize; i++ )
+124         if ( dt1.fOrigin[i] != dt2.fOrigin[i] )
+125             return true;
+126     return false;
+127     }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!operator==@{operator==}}
+\index{operator==@{operator==}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}bool operator== (const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt1}, const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt2})\hspace{0.3cm}{\tt  [inline]}}\label{AliHLTDataTypes_8h_a27}
+
+
+
+
+Definition at line 107 of file Ali\-HLTData\-Types.h.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID, and Ali\-HLTComponent\-Data\-Type::f\-Origin.
+
+\footnotesize\begin{verbatim}108     {
+109     for ( int i = 0; i < kAliHLTComponentDataTypefIDsize; i++ )
+110         if ( dt1.fID[i] != dt2.fID[i] )
+111             return false;
+112     for ( int i = 0; i < kAliHLTComponentDataTypefOriginSize; i++ )
+113         if ( dt1.fOrigin[i] != dt2.fOrigin[i] )
+114             return false;
+115     return true;
+116     }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Variable Documentation}
+\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!gkAliHLTComponentInvalidShmID@{gkAliHLTComponentInvalidShmID}}
+\index{gkAliHLTComponentInvalidShmID@{gkAliHLTComponentInvalidShmID}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTUInt64\_\-t} {\bf gk\-Ali\-HLTComponent\-Invalid\-Shm\-ID} = $\sim$({\bf Ali\-HLTUInt64\_\-t})0}\label{AliHLTDataTypes_8h_a11}
+
+
+
+
+Definition at line 48 of file Ali\-HLTData\-Types.h.\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!gkAliHLTComponentInvalidShmType@{gkAliHLTComponentInvalidShmType}}
+\index{gkAliHLTComponentInvalidShmType@{gkAliHLTComponentInvalidShmType}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTUInt32\_\-t} {\bf gk\-Ali\-HLTComponent\-Invalid\-Shm\-Type} = 0}\label{AliHLTDataTypes_8h_a10}
+
+
+
+
+Definition at line 47 of file Ali\-HLTData\-Types.h.\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTAnyDataType@{kAliHLTAnyDataType}}
+\index{kAliHLTAnyDataType@{kAliHLTAnyDataType}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf k\-Ali\-HLTAny\-Data\-Type} = \{sizeof({\bf Ali\-HLTComponent\-Data\-Type}), k\-Ali\-HLTAny\-Data\-Type\-ID, k\-Ali\-HLTAny\-Data\-Origin\}}\label{AliHLTDataTypes_8h_a15}
+
+
+
+
+Definition at line 64 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Find\-Input\-Block().\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTComponentDataTypefIDsize@{kAliHLTComponentDataTypefIDsize}}
+\index{kAliHLTComponentDataTypefIDsize@{kAliHLTComponentDataTypefIDsize}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int {\bf k\-Ali\-HLTComponent\-Data\-Typef\-IDsize} = 8}\label{AliHLTDataTypes_8h_a12}
+
+
+
+
+Definition at line 50 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Copy\-Data\-Type(), Ali\-HLTComponent::Data\-Type2Text(), Ali\-HLTPHOSFile\-Writer::Make\-Filename(), and Ali\-HLTComponent::Set\-Data\-Type().\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTComponentDataTypefOriginSize@{kAliHLTComponentDataTypefOriginSize}}
+\index{kAliHLTComponentDataTypefOriginSize@{kAliHLTComponentDataTypefOriginSize}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int {\bf k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size} = 4}\label{AliHLTDataTypes_8h_a13}
+
+
+
+
+Definition at line 51 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Copy\-Data\-Type(), Ali\-HLTComponent::Data\-Type2Text(), Ali\-HLTPHOSFile\-Writer::Make\-Filename(), and Ali\-HLTComponent::Set\-Data\-Type().\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTVoidDataSpec@{kAliHLTVoidDataSpec}}
+\index{kAliHLTVoidDataSpec@{kAliHLTVoidDataSpec}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTUInt32\_\-t} {\bf k\-Ali\-HLTVoid\-Data\-Spec} = $\sim$({\bf Ali\-HLTUInt32\_\-t})0}\label{AliHLTDataTypes_8h_a16}
+
+
+
+
+Definition at line 65 of file Ali\-HLTData\-Types.h.\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTVoidDataType@{kAliHLTVoidDataType}}
+\index{kAliHLTVoidDataType@{kAliHLTVoidDataType}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf k\-Ali\-HLTVoid\-Data\-Type} = \{sizeof({\bf Ali\-HLTComponent\-Data\-Type}), k\-Ali\-HLTVoid\-Data\-Type\-ID, k\-Ali\-HLTVoid\-Data\-Origin\}}\label{AliHLTDataTypes_8h_a14}
+
+
+
+
+Definition at line 63 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Ali\-HLTComponent().\index{AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}!kAliHLTVoidEventID@{kAliHLTVoidEventID}}
+\index{kAliHLTVoidEventID@{kAliHLTVoidEventID}!AliHLTDataTypes.h@{Ali\-HLTData\-Types.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTEvent\-ID\_\-t} {\bf k\-Ali\-HLTVoid\-Event\-ID} = $\sim$({\bf Ali\-HLTEvent\-ID\_\-t})0}\label{AliHLTDataTypes_8h_a9}
+
+
+
+
+Definition at line 39 of file Ali\-HLTData\-Types.h.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTDefinitions_8h.tex b/HLT/PHOS/latex/AliHLTDefinitions_8h.tex
new file mode 100644 (file)
index 0000000..71855c7
--- /dev/null
@@ -0,0 +1,32 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTDefinitions.h File Reference}
+\label{AliHLTDefinitions_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTDefinitions.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTDefinitions.h}}
+
+
+\subsection{Detailed Description}
+Definitions for the HLT module. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTDefinitions.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTUInt32\_\-t} {\bf k\-Ali\-HLTBlock\-Alignment} = 64
+\end{CompactItemize}
+
+
+\subsection{Variable Documentation}
+\index{AliHLTDefinitions.h@{Ali\-HLTDefinitions.h}!kAliHLTBlockAlignment@{kAliHLTBlockAlignment}}
+\index{kAliHLTBlockAlignment@{kAliHLTBlockAlignment}!AliHLTDefinitions.h@{Ali\-HLTDefinitions.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTUInt32\_\-t} {\bf k\-Ali\-HLTBlock\-Alignment} = 64}\label{AliHLTDefinitions_8h_a0}
+
+
+
+
+Definition at line 16 of file Ali\-HLTDefinitions.h.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTLogging_8cxx.tex b/HLT/PHOS/latex/AliHLTLogging_8cxx.tex
new file mode 100644 (file)
index 0000000..f0a4b12
--- /dev/null
@@ -0,0 +1,37 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTLogging.cxx File Reference}
+\label{AliHLTLogging_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTLogging.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTLogging.cxx}}
+
+
+\subsection{Detailed Description}
+Implementation of HLT logging primitives. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTLogging.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTStd\-Includes.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent\-Handler.h\char`\"{}}\par
+{\tt \#include \char`\"{}TString.h\char`\"{}}\par
+{\tt \#include \char`\"{}Varargs.h\char`\"{}}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include $<$sstream$>$}\par
+{\tt \#include $<$iostream$>$}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTLogging})
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTLogging.cxx@{Ali\-HLTLogging.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTLogging.cxx@{Ali\-HLTLogging.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTLogging})}\label{AliHLTLogging_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTLogging_8h.tex b/HLT/PHOS/latex/AliHLTLogging_8h.tex
new file mode 100644 (file)
index 0000000..744047e
--- /dev/null
@@ -0,0 +1,139 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTLogging.h File Reference}
+\label{AliHLTLogging_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTLogging.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTLogging.h}}
+
+
+\subsection{Detailed Description}
+HLT module logging primitives. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTLogging.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTStd\-Includes.h\char`\"{}}\par
+{\tt \#include \char`\"{}TObject.h\char`\"{}}\par
+{\tt \#include \char`\"{}TArray\-C.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTLogging}
+\item 
+class {\bf Ali\-HLTKeyword}
+\end{CompactItemize}
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf HLTMessage}()\ Logging\-Varargs(k\-HLTLog\-None,      NULL , NULL , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )
+\item 
+\#define {\bf FUNCTIONNAME}()\ \char`\"{}???\char`\"{}
+\item 
+\#define {\bf HLTBenchmark}()\ Logging\-Varargs(k\-HLTLog\-Benchmark, Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )
+\item 
+\#define {\bf HLTDebug}()\ Logging\-Varargs(k\-HLTLog\-Debug,     Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )
+\item 
+\#define {\bf HLTInfo}()\ Logging\-Varargs(k\-HLTLog\-Info,      Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )
+\item 
+\#define {\bf HLTWarning}()\ Logging\-Varargs(k\-HLTLog\-Warning,   Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )
+\item 
+\#define {\bf HLTError}()\ Logging\-Varargs(k\-HLTLog\-Error,     Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )
+\item 
+\#define {\bf HLTFatal}()\ Logging\-Varargs(k\-HLTLog\-Fatal,     Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )
+\item 
+\#define {\bf HLTLog\-Keyword}(a)\ {\bf Ali\-HLTKeyword} hltlog\-Tmpkey\_\-\_\-LINE\_\-\_\-(this, a)
+\item 
+\#define {\bf HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD}\ \char`\"{}no key\char`\"{}
+\end{CompactItemize}
+
+
+\subsection{Define Documentation}
+\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!FUNCTIONNAME@{FUNCTIONNAME}}
+\index{FUNCTIONNAME@{FUNCTIONNAME}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define FUNCTIONNAME()\ \char`\"{}???\char`\"{}}\label{AliHLTLogging_8h_a1}
+
+
+
+
+Definition at line 33 of file Ali\-HLTLogging.h.\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLT_DEFAULT_LOG_KEYWORD@{HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD}}
+\index{HLT_DEFAULT_LOG_KEYWORD@{HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD\ \char`\"{}no key\char`\"{}}\label{AliHLTLogging_8h_a9}
+
+
+
+
+Definition at line 47 of file Ali\-HLTLogging.h.
+
+Referenced by Ali\-HLTConfiguration::Global\-Deinit(), Ali\-HLTConfiguration::Global\-Init(), and Ali\-HLTLogging::Message().\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLTBenchmark@{HLTBenchmark}}
+\index{HLTBenchmark@{HLTBenchmark}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLTBenchmark()\ Logging\-Varargs(k\-HLTLog\-Benchmark, Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )}\label{AliHLTLogging_8h_a2}
+
+
+
+
+Definition at line 37 of file Ali\-HLTLogging.h.\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLTDebug@{HLTDebug}}
+\index{HLTDebug@{HLTDebug}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLTDebug()\ Logging\-Varargs(k\-HLTLog\-Debug,     Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )}\label{AliHLTLogging_8h_a3}
+
+
+
+
+Definition at line 38 of file Ali\-HLTLogging.h.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), Ali\-HLTComponent\-Handler::Create\-Component(), Ali\-HLTComponent::Create\-Input\-Object(), Ali\-HLTData\-Source::Do\-Processing(), Ali\-HLTComponent::Get\-First\-Input\-Object(), Ali\-HLTSystem::Insert\-Task(), Ali\-HLTSystem::Load\-Configurations(), Ali\-HLTComponent\-Handler::Load\-Library(), Ali\-HLTTask::Process\-Task(), Ali\-HLTSystem::Process\-Tasks(), Ali\-HLTComponent::Push\-Back(), Ali\-HLTComponent\-Handler::Register\-Component(), Ali\-HLTConfiguration\-Handler::Register\-Configuration(), Ali\-HLTConfiguration\-Handler::Remove\-Configuration(), Ali\-HLTData\-Buffer::Set\-Consumer(), Ali\-HLTData\-Buffer::Set\-Segments(), Ali\-HLTTask::Start\-Run(), Ali\-HLTData\-Buffer::Subscribe(), Ali\-HLTComponent\-Handler::Unload\-Library(), and Ali\-HLTConfiguration\-Handler::$\sim$Ali\-HLTConfiguration\-Handler().\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLTError@{HLTError}}
+\index{HLTError@{HLTError}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLTError()\ Logging\-Varargs(k\-HLTLog\-Error,     Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )}\label{AliHLTLogging_8h_a6}
+
+
+
+
+Definition at line 41 of file Ali\-HLTLogging.h.
+
+Referenced by Ali\-HLTConfiguration::Ali\-HLTConfiguration(), Ali\-HLTSystem::Build\-Task\-List(), Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), Ali\-HLTData\-Buffer::Change\-Consumer\-State(), Class\-Imp(), Ali\-HLTSystem::Configure(), Ali\-HLTComponent\-Handler::Create\-Component(), Ali\-HLTConfiguration\-Handler::Create\-Configuration(), Ali\-HLTComponent::Create\-Input\-Object(), Ali\-HLTConfiguration::Extract\-Sources(), Ali\-HLTSystem::Fill\-ESD(), Ali\-HLTConfiguration::Get\-Arguments(), Ali\-HLTComponent::Get\-Data\-Type(), Ali\-HLTTask::Get\-Nof\-Matching\-Data\-Types(), Ali\-HLTComponent::Get\-Specification(), Ali\-HLTData\-Buffer::Get\-Target\-Buffer(), Ali\-HLTTask::Init(), Ali\-HLTComponent::Init(), Ali\-HLTComponent::Insert\-Output\-Block(), Ali\-HLTSystem::Insert\-Task(), Ali\-HLTSystem::Load\-Configurations(), Ali\-HLTComponent\-Handler::Load\-Library(), Ali\-HLTComponent::Process\-Event(), Ali\-HLTTask::Process\-Task(), Ali\-HLTComponent::Push\-Back(), Ali\-HLTSystem::Reconstruct(), Ali\-HLTData\-Buffer::Release(), Ali\-HLTSystem::Reset(), Ali\-HLTSystem::Run(), Ali\-HLTData\-Buffer::Set\-Consumer(), Ali\-HLTData\-Buffer::Set\-Segments(), Ali\-HLTTask::Start\-Run(), Ali\-HLTData\-Buffer::Subscribe(), and Ali\-HLTComponent\-Handler::Unload\-Library().\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLTFatal@{HLTFatal}}
+\index{HLTFatal@{HLTFatal}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLTFatal()\ Logging\-Varargs(k\-HLTLog\-Fatal,     Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )}\label{AliHLTLogging_8h_a7}
+
+
+
+
+Definition at line 42 of file Ali\-HLTLogging.h.
+
+Referenced by Ali\-HLTComponent::Ali\-HLTComponent(), Ali\-HLTComponent\-Handler::Ali\-HLTComponent\-Handler(), Ali\-HLTData\-Buffer::Ali\-HLTData\-Buffer(), Ali\-HLTLogging::Ali\-HLTLogging(), Ali\-HLTOffline\-Data\-Sink::Ali\-HLTOffline\-Data\-Sink(), Ali\-HLTOffline\-Data\-Source::Ali\-HLTOffline\-Data\-Source(), Ali\-HLTSystem::Ali\-HLTSystem(), Ali\-HLTTask::Ali\-HLTTask(), Ali\-HLTComponent::Alloc\-Memory(), Class\-Imp(), Ali\-HLTComponent::Create\-Input\-Object(), Ali\-HLTProcessor::Do\-Event(), Ali\-HLTData\-Sink::Dump\-Event(), Ali\-HLTConfiguration::Extract\-Sources(), Ali\-HLTComponent::Get\-Data\-Type(), Ali\-HLTData\-Source::Get\-Event(), Ali\-HLTComponent::Get\-Input\-Object(), Ali\-HLTTask::Get\-Nof\-Matching\-Data\-Blocks(), Ali\-HLTTask::Get\-Nof\-Matching\-Data\-Types(), Ali\-HLTComponent::Get\-Specification(), Ali\-HLTSystem::Load\-Component\-Libraries(), Ali\-HLTPHOSRaw\-Analyzer\-Peak\-Finder\-Component::Load\-PFVector(), Ali\-HLTSystem::operator=(), Ali\-HLTOffline\-Data\-Source::operator=(), Ali\-HLTOffline\-Data\-Sink::operator=(), Ali\-HLTLogging::operator=(), Ali\-HLTData\-Buffer::operator=(), Ali\-HLTTask::operator=(), Ali\-HLTComponent\-Handler::operator=(), Ali\-HLTComponent::operator=(), Ali\-HLTComponent::Process\-Event(), Ali\-HLTTask::Process\-Task(), Ali\-HLTTask::Release(), Ali\-HLTData\-Buffer::Set\-Segments(), Ali\-HLTTask::Start\-Run(), and Ali\-HLTTask::Subscribe().\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLTInfo@{HLTInfo}}
+\index{HLTInfo@{HLTInfo}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLTInfo()\ Logging\-Varargs(k\-HLTLog\-Info,      Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )}\label{AliHLTLogging_8h_a4}
+
+
+
+
+Definition at line 39 of file Ali\-HLTLogging.h.
+
+Referenced by Ali\-HLTComponent\-Handler::Announce\-Version(), Ali\-HLTSystem::Fill\-ESD(), Ali\-HLTComponent\-Handler::List(), Ali\-HLTComponent\-Handler::Load\-Library(), Ali\-HLTSystem::Reconstruct(), Ali\-HLTComponent\-Handler::Register\-Component(), and Ali\-HLTSystem::Run().\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLTLogKeyword@{HLTLogKeyword}}
+\index{HLTLogKeyword@{HLTLogKeyword}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLTLog\-Keyword(a)\ {\bf Ali\-HLTKeyword} hltlog\-Tmpkey\_\-\_\-LINE\_\-\_\-(this, a)}\label{AliHLTLogging_8h_a8}
+
+
+
+
+Definition at line 45 of file Ali\-HLTLogging.h.
+
+Referenced by Ali\-HLTConfiguration\-Handler::Print\-Configurations(), Ali\-HLTTask::Print\-Dependency\-Tree(), Ali\-HLTTask::Print\-Status(), Ali\-HLTConfiguration::Print\-Status(), and Ali\-HLTSystem::Print\-Task\-List().\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLTMessage@{HLTMessage}}
+\index{HLTMessage@{HLTMessage}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLTMessage()\ Logging\-Varargs(k\-HLTLog\-None,      NULL , NULL , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )}\label{AliHLTLogging_8h_a0}
+
+
+
+
+Definition at line 27 of file Ali\-HLTLogging.h.
+
+Referenced by Ali\-HLTConfiguration\-Handler::Print\-Configurations(), Ali\-HLTComponent::Print\-Data\-Type\-Content(), Ali\-HLTTask::Print\-Dependency\-Tree(), Ali\-HLTTask::Print\-Status(), Ali\-HLTConfiguration::Print\-Status(), and Ali\-HLTSystem::Print\-Task\-List().\index{AliHLTLogging.h@{Ali\-HLTLogging.h}!HLTWarning@{HLTWarning}}
+\index{HLTWarning@{HLTWarning}!AliHLTLogging.h@{Ali\-HLTLogging.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define HLTWarning()\ Logging\-Varargs(k\-HLTLog\-Warning,   Class\_\-Name() , FUNCTIONNAME() , \_\-\_\-FILE\_\-\_\- , \_\-\_\-LINE\_\-\_\- , \_\-\_\-VA\_\-ARGS\_\-\_\- )}\label{AliHLTLogging_8h_a5}
+
+
+
+
+Definition at line 40 of file Ali\-HLTLogging.h.
+
+Referenced by Ali\-HLTSystem::Ali\-HLTSystem(), Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), Class\-Imp(), Ali\-HLTComponent\-Handler::Create\-Component(), Ali\-HLTComponent::Create\-Event\-Done\-Data(), Ali\-HLTTask::Deinit(), Ali\-HLTComponent\-Handler::Deregister\-Component(), Ali\-HLTData\-Source::Do\-Processing(), Ali\-HLTTask::End\-Run(), Ali\-HLTTask::Init(), Ali\-HLTSystem::Init\-Benchmarking(), Ali\-HLTSystem::Init\-Tasks(), Ali\-HLTConfiguration\-Handler::Register\-Configuration(), Ali\-HLTData\-Buffer::Release(), Ali\-HLTConfiguration\-Handler::Remove\-Configuration(), Ali\-HLTData\-Buffer::Reset\-Data\-Buffer(), Ali\-HLTData\-Buffer::Set\-Consumer(), Ali\-HLTComponent::Set\-Data\-Type(), Ali\-HLTComponent::Set\-Stopwatch(), Ali\-HLTTask::Start\-Run(), and Ali\-HLTComponent\-Handler::Unload\-Library().
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTMessage_8cxx.tex b/HLT/PHOS/latex/AliHLTMessage_8cxx.tex
new file mode 100644 (file)
index 0000000..92456a9
--- /dev/null
@@ -0,0 +1,104 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTMessage.cxx File Reference}
+\label{AliHLTMessage_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTMessage.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTMessage.cxx}}
+
+
+\subsection{Detailed Description}
+Serialization of Root objects in the ALICE HLT. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter (customization of Root TMessage ) \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTMessage.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTMessage.h\char`\"{}}\par
+{\tt \#include \char`\"{}Bytes.h\char`\"{}}\par
+{\tt \#include \char`\"{}TFile.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+void {\bf R\_\-\_\-zip} (Int\_\-t cxlevel, Int\_\-t $\ast$nin, char $\ast$bufin, Int\_\-t $\ast$lout, char $\ast$bufout, Int\_\-t $\ast$nout)
+\item 
+void {\bf R\_\-\_\-unzip} (Int\_\-t $\ast$nin, UChar\_\-t $\ast$bufin, Int\_\-t $\ast$lout, char $\ast$bufout, Int\_\-t $\ast$nout)
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTMessage}) {\bf Ali\-HLTMessage}
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+const Int\_\-t {\bf k\-MAXBUF} = 0xffffff
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTMessage.cxx@{Ali\-HLTMessage.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTMessage.cxx@{Ali\-HLTMessage.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTMessage})}\label{AliHLTMessage_8cxx_a3}
+
+
+
+
+Definition at line 40 of file Ali\-HLTMessage.cxx.
+
+\footnotesize\begin{verbatim}44   :
+45 # ifdef ROOT_TBufferFile
+46   TBufferFile(kWrite),
+47 # else
+48   TBuffer(kWrite),
+49 # endif
+50   AliHLTLogging()
+51 {
+52    // Create a AliHLTMessage object for storing objects. The "what" integer
+53    // describes the type of message. Predifined ROOT system message types
+54    // can be found in MessageTypes.h. Make sure your own message types are
+55    // unique from the ROOT defined message types (i.e. 0 - 10000 are
+56    // reserved by ROOT). In case you OR "what" with kMESS_ACK, the message
+57    // will wait for an acknowledgement from the remote side. This makes
+58    // the sending process synchronous. In case you OR "what" with kMESS_ZIP,
+59    // the message will be compressed in TSocket using the zip algorithm
+60    // (only if message is > 256 bytes).
+61 
+62    // space at the beginning of the message reserved for the message length
+63    UInt_t   reserved = 0;
+64    *this << reserved;
+65 
+66    fWhat  = what;
+67    *this << what;
+68 
+69    fClass      = 0;
+70    fCompress   = 0;
+71    fBufComp    = 0;
+72    fBufCompCur = 0;
+73    fCompPos    = 0;
+74 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage.cxx@{Ali\-HLTMessage.cxx}!R__unzip@{R\_\-\_\-unzip}}
+\index{R__unzip@{R\_\-\_\-unzip}!AliHLTMessage.cxx@{Ali\-HLTMessage.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void R\_\-\_\-unzip (Int\_\-t $\ast$ {\em nin}, UChar\_\-t $\ast$ {\em bufin}, Int\_\-t $\ast$ {\em lout}, char $\ast$ {\em bufout}, Int\_\-t $\ast$ {\em nout})}\label{AliHLTMessage_8cxx_a2}
+
+
+
+
+Referenced by Ali\-HLTMessage::Uncompress().\index{AliHLTMessage.cxx@{Ali\-HLTMessage.cxx}!R__zip@{R\_\-\_\-zip}}
+\index{R__zip@{R\_\-\_\-zip}!AliHLTMessage.cxx@{Ali\-HLTMessage.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void R\_\-\_\-zip (Int\_\-t {\em cxlevel}, Int\_\-t $\ast$ {\em nin}, char $\ast$ {\em bufin}, Int\_\-t $\ast$ {\em lout}, char $\ast$ {\em bufout}, Int\_\-t $\ast$ {\em nout})}\label{AliHLTMessage_8cxx_a1}
+
+
+
+
+Referenced by Ali\-HLTMessage::Compress().
+
+\subsection{Variable Documentation}
+\index{AliHLTMessage.cxx@{Ali\-HLTMessage.cxx}!kMAXBUF@{kMAXBUF}}
+\index{kMAXBUF@{kMAXBUF}!AliHLTMessage.cxx@{Ali\-HLTMessage.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const Int\_\-t {\bf k\-MAXBUF} = 0xffffff}\label{AliHLTMessage_8cxx_a0}
+
+
+
+
+Definition at line 37 of file Ali\-HLTMessage.cxx.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTMessage_8h.tex b/HLT/PHOS/latex/AliHLTMessage_8h.tex
new file mode 100644 (file)
index 0000000..270c8fe
--- /dev/null
@@ -0,0 +1,23 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTMessage.h File Reference}
+\label{AliHLTMessage_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTMessage.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTMessage.h}}
+
+
+\subsection{Detailed Description}
+Serialization of Root objects in the ALICE HLT. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter (customization of Root TMessage ) \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTMessage.h}.
+
+{\tt \#include \char`\"{}TMessage.h\char`\"{}}\par
+{\tt \#include \char`\"{}Message\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTMessage}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTModuleAgent_8cxx.tex b/HLT/PHOS/latex/AliHLTModuleAgent_8cxx.tex
new file mode 100644 (file)
index 0000000..f899ea2
--- /dev/null
@@ -0,0 +1,46 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTModule\-Agent.cxx File Reference}
+\label{AliHLTModuleAgent_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTModuleAgent.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTModuleAgent.cxx}}
+
+
+\subsection{Detailed Description}
+Agent helper class for component libraries. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is used in Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTModule\-Agent.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTModule\-Agent.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTModule\-Agent}) {\bf Ali\-HLTModule\-Agent}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTModuleAgent.cxx@{Ali\-HLTModule\-Agent.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTModuleAgent.cxx@{Ali\-HLTModule\-Agent.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTModule\-Agent})}\label{AliHLTModuleAgent_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 28 of file Ali\-HLTModule\-Agent.cxx.
+
+\footnotesize\begin{verbatim}31 {
+32   // see header file for class documentation
+33   // or
+34   // refer to README to build package
+35   // or
+36   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+37   Register(this);
+38 }
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTModuleAgent_8h.tex b/HLT/PHOS/latex/AliHLTModuleAgent_8h.tex
new file mode 100644 (file)
index 0000000..dea2e44
--- /dev/null
@@ -0,0 +1,27 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTModule\-Agent.h File Reference}
+\label{AliHLTModuleAgent_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTModuleAgent.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTModuleAgent.h}}
+
+
+\subsection{Detailed Description}
+Agent helper class for component libraries. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is used in Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTModule\-Agent.h}.
+
+{\tt \#include $<$TObject.h$>$}\par
+{\tt \#include $<$TList.h$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTConfiguration.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTConfiguration\-Handler.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTModule\-Agent}
+\begin{CompactList}\small\item\em Agent helper class for HLT sub modules, e.g. PHOS, TPC, Trigger. \item\end{CompactList}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTOfflineDataSink_8cxx.tex b/HLT/PHOS/latex/AliHLTOfflineDataSink_8cxx.tex
new file mode 100644 (file)
index 0000000..3e563b3
--- /dev/null
@@ -0,0 +1,43 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTOffline\-Data\-Sink.cxx File Reference}
+\label{AliHLTOfflineDataSink_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTOfflineDataSink.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTOfflineDataSink.cxx}}
+
+
+\subsection{Detailed Description}
+Ali\-Root data sink component base class. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTOffline\-Data\-Sink.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTOffline\-Data\-Sink.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTOffline\-Data\-Sink}) {\bf Ali\-HLTOffline\-Data\-Sink}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTOfflineDataSink.cxx@{Ali\-HLTOffline\-Data\-Sink.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTOfflineDataSink.cxx@{Ali\-HLTOffline\-Data\-Sink.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTOffline\-Data\-Sink})}\label{AliHLTOfflineDataSink_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 27 of file Ali\-HLTOffline\-Data\-Sink.cxx.
+
+\footnotesize\begin{verbatim}30 {
+31   // see header file for class documentation
+32   // or
+33   // refer to README to build package
+34   // or
+35   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+36 }
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTOfflineDataSink_8h.tex b/HLT/PHOS/latex/AliHLTOfflineDataSink_8h.tex
new file mode 100644 (file)
index 0000000..0a89dad
--- /dev/null
@@ -0,0 +1,22 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTOffline\-Data\-Sink.h File Reference}
+\label{AliHLTOfflineDataSink_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTOfflineDataSink.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTOfflineDataSink.h}}
+
+
+\subsection{Detailed Description}
+Ali\-Root data sink component base class. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTOffline\-Data\-Sink.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Sink.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTOffline\-Interface.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTOffline\-Data\-Sink}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTOfflineDataSource_8cxx.tex b/HLT/PHOS/latex/AliHLTOfflineDataSource_8cxx.tex
new file mode 100644 (file)
index 0000000..214b9ee
--- /dev/null
@@ -0,0 +1,44 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTOffline\-Data\-Source.cxx File Reference}
+\label{AliHLTOfflineDataSource_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTOfflineDataSource.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTOfflineDataSource.cxx}}
+
+
+\subsection{Detailed Description}
+Ali\-Root data source component base class. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTOffline\-Data\-Source.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTOffline\-Data\-Source.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTOffline\-Data\-Source}) {\bf Ali\-HLTOffline\-Data\-Source}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTOfflineDataSource.cxx@{Ali\-HLTOffline\-Data\-Source.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTOfflineDataSource.cxx@{Ali\-HLTOffline\-Data\-Source.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTOffline\-Data\-Source})}\label{AliHLTOfflineDataSource_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 27 of file Ali\-HLTOffline\-Data\-Source.cxx.
+
+\footnotesize\begin{verbatim}30 {
+31   // see header file for class documentation
+32   // or
+33   // refer to README to build package
+34   // or
+35   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+36   Register(this);
+37 }
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTOfflineDataSource_8h.tex b/HLT/PHOS/latex/AliHLTOfflineDataSource_8h.tex
new file mode 100644 (file)
index 0000000..15a29f4
--- /dev/null
@@ -0,0 +1,22 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTOffline\-Data\-Source.h File Reference}
+\label{AliHLTOfflineDataSource_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTOfflineDataSource.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTOfflineDataSource.h}}
+
+
+\subsection{Detailed Description}
+Ali\-Root data sink component base class. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTOffline\-Data\-Source.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Source.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTOffline\-Interface.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTOffline\-Data\-Source}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTOfflineInterface_8cxx.tex b/HLT/PHOS/latex/AliHLTOfflineInterface_8cxx.tex
new file mode 100644 (file)
index 0000000..c3bfaa8
--- /dev/null
@@ -0,0 +1,49 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTOffline\-Interface.cxx File Reference}
+\label{AliHLTOfflineInterface_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTOfflineInterface.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTOfflineInterface.cxx}}
+
+
+\subsection{Detailed Description}
+the HLT interface to Ali\-Root 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTOffline\-Interface.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTOffline\-Interface.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTOffline\-Interface}) {\bf Ali\-HLTOffline\-Interface}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTOfflineInterface.cxx@{Ali\-HLTOffline\-Interface.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTOfflineInterface.cxx@{Ali\-HLTOffline\-Interface.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTOffline\-Interface})}\label{AliHLTOfflineInterface_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 28 of file Ali\-HLTOffline\-Interface.cxx.
+
+\footnotesize\begin{verbatim}31   :
+32   fpRunLoader(NULL),
+33   fpRawReader(NULL),
+34   fpESD(NULL)
+35 {
+36   // see header file for class documentation
+37   // or
+38   // refer to README to build package
+39   // or
+40   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+41 }
+
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTOfflineInterface_8h.tex b/HLT/PHOS/latex/AliHLTOfflineInterface_8h.tex
new file mode 100644 (file)
index 0000000..308b87e
--- /dev/null
@@ -0,0 +1,22 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTOffline\-Interface.h File Reference}
+\label{AliHLTOfflineInterface_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTOfflineInterface.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTOfflineInterface.h}}
+
+
+\subsection{Detailed Description}
+the HLT interface to Ali\-Root 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTOffline\-Interface.h}.
+
+{\tt \#include $<$TObject.h$>$}\par
+{\tt \#include $<$TList.h$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTOffline\-Interface}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSCellEnergiesFileWriter_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSCellEnergiesFileWriter_8cxx.tex
new file mode 100644 (file)
index 0000000..fe51517
--- /dev/null
@@ -0,0 +1,5 @@
+\section{Ali\-HLTPHOSCell\-Energies\-File\-Writer.cxx File Reference}
+\label{AliHLTPHOSCellEnergiesFileWriter_8cxx}\index{AliHLTPHOSCellEnergiesFileWriter.cxx@{AliHLTPHOSCellEnergiesFileWriter.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSCell\-Energies\-File\-Writer.h\char`\"{}}\par
diff --git a/HLT/PHOS/latex/AliHLTPHOSCellEnergiesFileWriter_8h.tex b/HLT/PHOS/latex/AliHLTPHOSCellEnergiesFileWriter_8h.tex
new file mode 100644 (file)
index 0000000..e33fdde
--- /dev/null
@@ -0,0 +1,13 @@
+\section{Ali\-HLTPHOSCell\-Energies\-File\-Writer.h File Reference}
+\label{AliHLTPHOSCellEnergiesFileWriter_8h}\index{AliHLTPHOSCellEnergiesFileWriter.h@{AliHLTPHOSCellEnergiesFileWriter.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSFile\-Writer.h\char`\"{}}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSDDLDecoderComponent_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSDDLDecoderComponent_8cxx.tex
new file mode 100644 (file)
index 0000000..4024410
--- /dev/null
@@ -0,0 +1,27 @@
+\section{Ali\-HLTPHOSDDLDecoder\-Component.cxx File Reference}
+\label{AliHLTPHOSDDLDecoderComponent_8cxx}\index{AliHLTPHOSDDLDecoderComponent.cxx@{AliHLTPHOSDDLDecoderComponent.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSDDLDecoder\-Component.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+{\tt \#include \char`\"{}stdio.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Raw\-Reader\-Memory.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Calo\-Raw\-Stream.h\char`\"{}}\par
+{\tt \#include $<$cstdlib$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h\char`\"{}}\par
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSDDLDecoder\-Component} {\bf g\-Ali\-HLTPHOSDDLDecoder\-Component}
+\end{CompactItemize}
+
+
+\subsection{Variable Documentation}
+\index{AliHLTPHOSDDLDecoderComponent.cxx@{Ali\-HLTPHOSDDLDecoder\-Component.cxx}!gAliHLTPHOSDDLDecoderComponent@{gAliHLTPHOSDDLDecoderComponent}}
+\index{gAliHLTPHOSDDLDecoderComponent@{gAliHLTPHOSDDLDecoderComponent}!AliHLTPHOSDDLDecoderComponent.cxx@{Ali\-HLTPHOSDDLDecoder\-Component.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSDDLDecoder\-Component} {\bf g\-Ali\-HLTPHOSDDLDecoder\-Component}}\label{AliHLTPHOSDDLDecoderComponent_8cxx_a0}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTPHOSDDLDecoderComponent_8h.tex b/HLT/PHOS/latex/AliHLTPHOSDDLDecoderComponent_8h.tex
new file mode 100644 (file)
index 0000000..7d81b52
--- /dev/null
@@ -0,0 +1,17 @@
+\section{Ali\-HLTPHOSDDLDecoder\-Component.h File Reference}
+\label{AliHLTPHOSDDLDecoderComponent_8h}\index{AliHLTPHOSDDLDecoderComponent.h@{AliHLTPHOSDDLDecoderComponent.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTProcessor.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRaw\-Analyzer.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Raw\-Reader\-Memory.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Calo\-Raw\-Stream.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSDefinitions.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include $<$cstdlib$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSDDLDecoder\-Component}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSDDLPackedFileWriter_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSDDLPackedFileWriter_8cxx.tex
new file mode 100644 (file)
index 0000000..07cf6f4
--- /dev/null
@@ -0,0 +1,5 @@
+\section{Ali\-HLTPHOSDDLPacked\-File\-Writer.cxx File Reference}
+\label{AliHLTPHOSDDLPackedFileWriter_8cxx}\index{AliHLTPHOSDDLPackedFileWriter.cxx@{AliHLTPHOSDDLPackedFileWriter.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSDDLPacked\-File\-Writer.h\char`\"{}}\par
diff --git a/HLT/PHOS/latex/AliHLTPHOSDDLPackedFileWriter_8h.tex b/HLT/PHOS/latex/AliHLTPHOSDDLPackedFileWriter_8h.tex
new file mode 100644 (file)
index 0000000..392458f
--- /dev/null
@@ -0,0 +1,12 @@
+\section{Ali\-HLTPHOSDDLPacked\-File\-Writer.h File Reference}
+\label{AliHLTPHOSDDLPackedFileWriter_8h}\index{AliHLTPHOSDDLPackedFileWriter.h@{AliHLTPHOSDDLPackedFileWriter.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSFile\-Writer.h\char`\"{}}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSDDLPacked\-File\-Writer}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSDataHeaderStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSDataHeaderStruct_8h.tex
new file mode 100644 (file)
index 0000000..951dbd8
--- /dev/null
@@ -0,0 +1,10 @@
+\section{Ali\-HLTPHOSData\-Header\-Struct.h File Reference}
+\label{AliHLTPHOSDataHeaderStruct_8h}\index{AliHLTPHOSDataHeaderStruct.h@{AliHLTPHOSDataHeaderStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSData\-Header\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSDefinitions_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSDefinitions_8cxx.tex
new file mode 100644 (file)
index 0000000..143ea64
--- /dev/null
@@ -0,0 +1,5 @@
+\section{Ali\-HLTPHOSDefinitions.cxx File Reference}
+\label{AliHLTPHOSDefinitions_8cxx}\index{AliHLTPHOSDefinitions.cxx@{AliHLTPHOSDefinitions.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSDefinitions.h\char`\"{}}\par
diff --git a/HLT/PHOS/latex/AliHLTPHOSDefinitions_8h.tex b/HLT/PHOS/latex/AliHLTPHOSDefinitions_8h.tex
new file mode 100644 (file)
index 0000000..13036cf
--- /dev/null
@@ -0,0 +1,11 @@
+\section{Ali\-HLTPHOSDefinitions.h File Reference}
+\label{AliHLTPHOSDefinitions_8h}\index{AliHLTPHOSDefinitions.h@{AliHLTPHOSDefinitions.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Rtypes.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSDefinitions}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSFileWriterComponent_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSFileWriterComponent_8cxx.tex
new file mode 100644 (file)
index 0000000..9154823
--- /dev/null
@@ -0,0 +1,31 @@
+\section{Ali\-HLTPHOSFile\-Writer\-Component.cxx File Reference}
+\label{AliHLTPHOSFileWriterComponent_8cxx}\index{AliHLTPHOSFileWriterComponent.cxx@{AliHLTPHOSFileWriterComponent.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSFile\-Writer\-Component.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+{\tt \#include $<$TObj\-String.h$>$}\par
+{\tt \#include \char`\"{}Ali\-Raw\-Reader\-Memory.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Calo\-Raw\-Stream.h\char`\"{}}\par
+{\tt \#include $<$cstdlib$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSData\-Header\-Struct.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSDDLPacked\-File\-Writer.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCell\-Energies\-File\-Writer.h\char`\"{}}\par
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer\-Component} {\bf g\-Ali\-HLTPHOSFile\-Writer\-Component}
+\end{CompactItemize}
+
+
+\subsection{Variable Documentation}
+\index{AliHLTPHOSFileWriterComponent.cxx@{Ali\-HLTPHOSFile\-Writer\-Component.cxx}!gAliHLTPHOSFileWriterComponent@{gAliHLTPHOSFileWriterComponent}}
+\index{gAliHLTPHOSFileWriterComponent@{gAliHLTPHOSFileWriterComponent}!AliHLTPHOSFileWriterComponent.cxx@{Ali\-HLTPHOSFile\-Writer\-Component.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSFile\-Writer\-Component} {\bf g\-Ali\-HLTPHOSFile\-Writer\-Component}}\label{AliHLTPHOSFileWriterComponent_8cxx_a0}
+
+
+
+
+Definition at line 35 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTPHOSFileWriterComponent_8h.tex b/HLT/PHOS/latex/AliHLTPHOSFileWriterComponent_8h.tex
new file mode 100644 (file)
index 0000000..7886709
--- /dev/null
@@ -0,0 +1,15 @@
+\section{Ali\-HLTPHOSFile\-Writer\-Component.h File Reference}
+\label{AliHLTPHOSFileWriterComponent_8h}\index{AliHLTPHOSFileWriterComponent.h@{AliHLTPHOSFileWriterComponent.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSDefinitions.h\char`\"{}}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include \char`\"{}Rtypes.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTFile\-Writer.h\char`\"{}}\par
+{\tt \#include $<$vector$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSFile\-Writer\-Component}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSFileWriter_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSFileWriter_8cxx.tex
new file mode 100644 (file)
index 0000000..6a1b6df
--- /dev/null
@@ -0,0 +1,7 @@
+\section{Ali\-HLTPHOSFile\-Writer.cxx File Reference}
+\label{AliHLTPHOSFileWriter_8cxx}\index{AliHLTPHOSFileWriter.cxx@{AliHLTPHOSFileWriter.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSFile\-Writer.h\char`\"{}}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include $<$cstdlib$>$}\par
diff --git a/HLT/PHOS/latex/AliHLTPHOSFileWriter_8h.tex b/HLT/PHOS/latex/AliHLTPHOSFileWriter_8h.tex
new file mode 100644 (file)
index 0000000..e429f7d
--- /dev/null
@@ -0,0 +1,13 @@
+\section{Ali\-HLTPHOSFile\-Writer.h File Reference}
+\label{AliHLTPHOSFileWriter_8h}\index{AliHLTPHOSFileWriter.h@{AliHLTPHOSFileWriter.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSFile\-Writer.h\char`\"{}}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSFile\-Writer}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSGetEventButton_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSGetEventButton_8cxx.tex
new file mode 100644 (file)
index 0000000..8d10892
--- /dev/null
@@ -0,0 +1,7 @@
+\section{Online\-Display/Ali\-HLTPHOSGet\-Event\-Button.cxx File Reference}
+\label{AliHLTPHOSGetEventButton_8cxx}\index{OnlineDisplay/AliHLTPHOSGetEventButton.cxx@{OnlineDisplay/AliHLTPHOSGetEventButton.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSGet\-Event\-Button.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSOnline\-Display.h\char`\"{}}\par
diff --git a/HLT/PHOS/latex/AliHLTPHOSGetEventButton_8h.tex b/HLT/PHOS/latex/AliHLTPHOSGetEventButton_8h.tex
new file mode 100644 (file)
index 0000000..ff3ce5a
--- /dev/null
@@ -0,0 +1,11 @@
+\section{Online\-Display/Ali\-HLTPHOSGet\-Event\-Button.h File Reference}
+\label{AliHLTPHOSGetEventButton_8h}\index{OnlineDisplay/AliHLTPHOSGetEventButton.h@{OnlineDisplay/AliHLTPHOSGetEventButton.h}}
+
+
+{\tt \#include $<$TGButton.h$>$}\par
+{\tt \#include $<$TGFrame.h$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSGet\-Event\-Button}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSHistogramProducerComponent_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSHistogramProducerComponent_8cxx.tex
new file mode 100644 (file)
index 0000000..0f63e09
--- /dev/null
@@ -0,0 +1,26 @@
+\section{Ali\-HLTPHOSHistogram\-Producer\-Component.cxx File Reference}
+\label{AliHLTPHOSHistogramProducerComponent_8cxx}\index{AliHLTPHOSHistogramProducerComponent.cxx@{AliHLTPHOSHistogramProducerComponent.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSHistogram\-Producer\-Component.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Raw\-Reader\-Memory.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Calo\-Raw\-Stream.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct.h\char`\"{}}\par
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\bf g\-Ali\-HLTPHOSHistogram\-Producer\-Component}
+\end{CompactItemize}
+
+
+\subsection{Variable Documentation}
+\index{AliHLTPHOSHistogramProducerComponent.cxx@{Ali\-HLTPHOSHistogram\-Producer\-Component.cxx}!gAliHLTPHOSHistogramProducerComponent@{gAliHLTPHOSHistogramProducerComponent}}
+\index{gAliHLTPHOSHistogramProducerComponent@{gAliHLTPHOSHistogramProducerComponent}!AliHLTPHOSHistogramProducerComponent.cxx@{Ali\-HLTPHOSHistogram\-Producer\-Component.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\bf g\-Ali\-HLTPHOSHistogram\-Producer\-Component}}\label{AliHLTPHOSHistogramProducerComponent_8cxx_a0}
+
+
+
+
+Definition at line 32 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTPHOSHistogramProducerComponent_8h.tex b/HLT/PHOS/latex/AliHLTPHOSHistogramProducerComponent_8h.tex
new file mode 100644 (file)
index 0000000..5c65ac1
--- /dev/null
@@ -0,0 +1,12 @@
+\section{Ali\-HLTPHOSHistogram\-Producer\-Component.h File Reference}
+\label{AliHLTPHOSHistogramProducerComponent_8h}\index{AliHLTPHOSHistogramProducerComponent.h@{AliHLTPHOSHistogramProducerComponent.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTProcessor.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSDefinitions.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSHistogram\-Producer\-Component}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSModuleCellAccumulatedEnergyDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSModuleCellAccumulatedEnergyDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..2a18f63
--- /dev/null
@@ -0,0 +1,10 @@
+\section{Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSModuleCellAccumulatedEnergyDataStruct_8h}\index{AliHLTPHOSModuleCellAccumulatedEnergyDataStruct.h@{AliHLTPHOSModuleCellAccumulatedEnergyDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSModuleCellAverageEnergyDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSModuleCellAverageEnergyDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..e357e2a
--- /dev/null
@@ -0,0 +1,10 @@
+\section{Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSModuleCellAverageEnergyDataStruct_8h}\index{AliHLTPHOSModuleCellAverageEnergyDataStruct.h@{AliHLTPHOSModuleCellAverageEnergyDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSModuleCellEnergyDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSModuleCellEnergyDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..69d7318
--- /dev/null
@@ -0,0 +1,11 @@
+\section{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSModuleCellEnergyDataStruct_8h}\index{AliHLTPHOSModuleCellEnergyDataStruct.h@{AliHLTPHOSModuleCellEnergyDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSModuleMergerComponent_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSModuleMergerComponent_8cxx.tex
new file mode 100644 (file)
index 0000000..a7a0871
--- /dev/null
@@ -0,0 +1,25 @@
+\section{Ali\-HLTPHOSModule\-Merger\-Component.cxx File Reference}
+\label{AliHLTPHOSModuleMergerComponent_8cxx}\index{AliHLTPHOSModuleMergerComponent.cxx@{AliHLTPHOSModuleMergerComponent.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSModule\-Merger\-Component.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Raw\-Reader\-Memory.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-Calo\-Raw\-Stream.h\char`\"{}}\par
+{\tt \#include $<$cstdio$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h\char`\"{}}\par
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSModule\-Merger\-Component} {\bf g\-Ali\-HLTPHOSModule\-Merger\-Component}
+\end{CompactItemize}
+
+
+\subsection{Variable Documentation}
+\index{AliHLTPHOSModuleMergerComponent.cxx@{Ali\-HLTPHOSModule\-Merger\-Component.cxx}!gAliHLTPHOSModuleMergerComponent@{gAliHLTPHOSModuleMergerComponent}}
+\index{gAliHLTPHOSModuleMergerComponent@{gAliHLTPHOSModuleMergerComponent}!AliHLTPHOSModuleMergerComponent.cxx@{Ali\-HLTPHOSModule\-Merger\-Component.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSModule\-Merger\-Component} {\bf g\-Ali\-HLTPHOSModule\-Merger\-Component}}\label{AliHLTPHOSModuleMergerComponent_8cxx_a0}
+
+
+
+
+Definition at line 30 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTPHOSModuleMergerComponent_8h.tex b/HLT/PHOS/latex/AliHLTPHOSModuleMergerComponent_8h.tex
new file mode 100644 (file)
index 0000000..b84deda
--- /dev/null
@@ -0,0 +1,12 @@
+\section{Ali\-HLTPHOSModule\-Merger\-Component.h File Reference}
+\label{AliHLTPHOSModuleMergerComponent_8h}\index{AliHLTPHOSModuleMergerComponent.h@{AliHLTPHOSModuleMergerComponent.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTProcessor.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSDefinitions.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSModule\-Merger\-Component}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSOnlineDisplay_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSOnlineDisplay_8cxx.tex
new file mode 100644 (file)
index 0000000..9df52d1
--- /dev/null
@@ -0,0 +1,39 @@
+\section{Online\-Display/Ali\-HLTPHOSOnline\-Display.cxx File Reference}
+\label{AliHLTPHOSOnlineDisplay_8cxx}\index{OnlineDisplay/AliHLTPHOSOnlineDisplay.cxx@{OnlineDisplay/AliHLTPHOSOnlineDisplay.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSOnline\-Display.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include $<$vector$>$}\par
+{\tt \#include \char`\"{}stdio.h\char`\"{}}\par
+{\tt \#include $<$string$>$}\par
+{\tt \#include $<$sys/ipc.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}TH2.h\char`\"{}}\par
+{\tt \#include \char`\"{}TCanvas.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include $<$stdexcept$>$}\par
+{\tt \#include $<$TSystem.h$>$}\par
+{\tt \#include $<$TApplication.h$>$}\par
+{\tt \#include \char`\"{}TStyle.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf MAX\_\-BIN\_\-VALUE}\ 1023
+\end{CompactItemize}
+
+
+\subsection{Define Documentation}
+\index{AliHLTPHOSOnlineDisplay.cxx@{Ali\-HLTPHOSOnline\-Display.cxx}!MAX_BIN_VALUE@{MAX\_\-BIN\_\-VALUE}}
+\index{MAX_BIN_VALUE@{MAX\_\-BIN\_\-VALUE}!AliHLTPHOSOnlineDisplay.cxx@{Ali\-HLTPHOSOnline\-Display.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define MAX\_\-BIN\_\-VALUE\ 1023}\label{AliHLTPHOSOnlineDisplay_8cxx_a0}
+
+
+
+
+Definition at line 43 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display::Init\-Display().
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTPHOSOnlineDisplay_8h.tex b/HLT/PHOS/latex/AliHLTPHOSOnlineDisplay_8h.tex
new file mode 100644 (file)
index 0000000..1322578
--- /dev/null
@@ -0,0 +1,64 @@
+\section{Online\-Display/Ali\-HLTPHOSOnline\-Display.h File Reference}
+\label{AliHLTPHOSOnlineDisplay_8h}\index{OnlineDisplay/AliHLTPHOSOnlineDisplay.h@{OnlineDisplay/AliHLTPHOSOnlineDisplay.h}}
+
+
+{\tt \#include \char`\"{}HOMERData.h\char`\"{}}\par
+{\tt \#include \char`\"{}HOMERReader.h\char`\"{}}\par
+{\tt \#include \char`\"{}HOMERWriter.h\char`\"{}}\par
+{\tt \#include \char`\"{}Rtypes.h\char`\"{}}\par
+{\tt \#include $<$TGFrame.h$>$}\par
+{\tt \#include \char`\"{}TH2.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSGet\-Event\-Button.h\char`\"{}}\par
+{\tt \#include \char`\"{}TGTab.h\char`\"{}}\par
+{\tt \#include $<$TRoot\-Embedded\-Canvas.h$>$}\par
+{\tt \#include $<$TCanvas.h$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSOnline\-Display}
+\end{CompactItemize}
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf MAX\_\-HOSTS}\ 10
+\item 
+\#define {\bf MAX\_\-HOSTNAME\_\-LENGTH}\ 64
+\item 
+\#define {\bf DEFAULT\_\-EVENT\_\-PORT}\ 42001
+\item 
+\#define {\bf DEFAULT\_\-HISTO\_\-PORT}\ 42002
+\end{CompactItemize}
+
+
+\subsection{Define Documentation}
+\index{AliHLTPHOSOnlineDisplay.h@{Ali\-HLTPHOSOnline\-Display.h}!DEFAULT_EVENT_PORT@{DEFAULT\_\-EVENT\_\-PORT}}
+\index{DEFAULT_EVENT_PORT@{DEFAULT\_\-EVENT\_\-PORT}!AliHLTPHOSOnlineDisplay.h@{Ali\-HLTPHOSOnline\-Display.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define DEFAULT\_\-EVENT\_\-PORT\ 42001}\label{AliHLTPHOSOnlineDisplay_8h_a2}
+
+
+
+
+Definition at line 23 of file Ali\-HLTPHOSOnline\-Display.h.\index{AliHLTPHOSOnlineDisplay.h@{Ali\-HLTPHOSOnline\-Display.h}!DEFAULT_HISTO_PORT@{DEFAULT\_\-HISTO\_\-PORT}}
+\index{DEFAULT_HISTO_PORT@{DEFAULT\_\-HISTO\_\-PORT}!AliHLTPHOSOnlineDisplay.h@{Ali\-HLTPHOSOnline\-Display.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define DEFAULT\_\-HISTO\_\-PORT\ 42002}\label{AliHLTPHOSOnlineDisplay_8h_a3}
+
+
+
+
+Definition at line 24 of file Ali\-HLTPHOSOnline\-Display.h.\index{AliHLTPHOSOnlineDisplay.h@{Ali\-HLTPHOSOnline\-Display.h}!MAX_HOSTNAME_LENGTH@{MAX\_\-HOSTNAME\_\-LENGTH}}
+\index{MAX_HOSTNAME_LENGTH@{MAX\_\-HOSTNAME\_\-LENGTH}!AliHLTPHOSOnlineDisplay.h@{Ali\-HLTPHOSOnline\-Display.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define MAX\_\-HOSTNAME\_\-LENGTH\ 64}\label{AliHLTPHOSOnlineDisplay_8h_a1}
+
+
+
+
+Definition at line 22 of file Ali\-HLTPHOSOnline\-Display.h.\index{AliHLTPHOSOnlineDisplay.h@{Ali\-HLTPHOSOnline\-Display.h}!MAX_HOSTS@{MAX\_\-HOSTS}}
+\index{MAX_HOSTS@{MAX\_\-HOSTS}!AliHLTPHOSOnlineDisplay.h@{Ali\-HLTPHOSOnline\-Display.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define MAX\_\-HOSTS\ 10}\label{AliHLTPHOSOnlineDisplay_8h_a0}
+
+
+
+
+Definition at line 21 of file Ali\-HLTPHOSOnline\-Display.h.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTPHOSRcuCellAccumulatedEnergyDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSRcuCellAccumulatedEnergyDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..185ac82
--- /dev/null
@@ -0,0 +1,10 @@
+\section{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct_8h}\index{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h@{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSRcuCellAverageEnergyDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSRcuCellAverageEnergyDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..e9bec49
--- /dev/null
@@ -0,0 +1,10 @@
+\section{Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSRcuCellAverageEnergyDataStruct_8h}\index{AliHLTPHOSRcuCellAverageEnergyDataStruct.h@{AliHLTPHOSRcuCellAverageEnergyDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSRcuCellEnergyDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSRcuCellEnergyDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..0973729
--- /dev/null
@@ -0,0 +1,12 @@
+\section{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSRcuCellEnergyDataStruct_8h}\index{AliHLTPHOSRcuCellEnergyDataStruct.h@{AliHLTPHOSRcuCellEnergyDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include \char`\"{}Rtypes.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSRcuChannelDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSRcuChannelDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..b6270fd
--- /dev/null
@@ -0,0 +1,11 @@
+\section{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSRcuChannelDataStruct_8h}\index{AliHLTPHOSRcuChannelDataStruct.h@{AliHLTPHOSRcuChannelDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducerComponent_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducerComponent_8cxx.tex
new file mode 100644 (file)
index 0000000..ef224de
--- /dev/null
@@ -0,0 +1,26 @@
+\section{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx File Reference}
+\label{AliHLTPHOSRcuHistogramProducerComponent_8cxx}\index{AliHLTPHOSRcuHistogramProducerComponent.cxx@{AliHLTPHOSRcuHistogramProducerComponent.cxx}}
+
+
+{\tt \#include $<$iostream$>$}\par
+{\tt \#include \char`\"{}stdio.h\char`\"{}}\par
+{\tt \#include $<$cstdlib$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Histogram\-Producer.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h\char`\"{}}\par
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\bf g\-Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}
+\end{CompactItemize}
+
+
+\subsection{Variable Documentation}
+\index{AliHLTPHOSRcuHistogramProducerComponent.cxx@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx}!gAliHLTPHOSRcuHistogramProducerComponent@{gAliHLTPHOSRcuHistogramProducerComponent}}
+\index{gAliHLTPHOSRcuHistogramProducerComponent@{gAliHLTPHOSRcuHistogramProducerComponent}!AliHLTPHOSRcuHistogramProducerComponent.cxx@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\bf g\-Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}\label{AliHLTPHOSRcuHistogramProducerComponent_8cxx_a0}
+
+
+
+
+Definition at line 29 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducerComponent_8h.tex b/HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducerComponent_8h.tex
new file mode 100644 (file)
index 0000000..6374374
--- /dev/null
@@ -0,0 +1,14 @@
+\section{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h File Reference}
+\label{AliHLTPHOSRcuHistogramProducerComponent_8h}\index{AliHLTPHOSRcuHistogramProducerComponent.h@{AliHLTPHOSRcuHistogramProducerComponent.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTProcessor.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSDefinitions.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include \char`\"{}Rtypes.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducer_8cxx.tex b/HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducer_8cxx.tex
new file mode 100644 (file)
index 0000000..ea03b89
--- /dev/null
@@ -0,0 +1,10 @@
+\section{Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx File Reference}
+\label{AliHLTPHOSRcuHistogramProducer_8cxx}\index{AliHLTPHOSRcuHistogramProducer.cxx@{AliHLTPHOSRcuHistogramProducer.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Histogram\-Producer.h\char`\"{}}\par
+{\tt \#include $<$iostream$>$}\par
+{\tt \#include \char`\"{}stdio.h\char`\"{}}\par
+{\tt \#include $<$cstdlib$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h\char`\"{}}\par
+{\tt \#include \char`\"{}TFile.h\char`\"{}}\par
diff --git a/HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducer_8h.tex b/HLT/PHOS/latex/AliHLTPHOSRcuHistogramProducer_8h.tex
new file mode 100644 (file)
index 0000000..ec52b8d
--- /dev/null
@@ -0,0 +1,53 @@
+\section{Ali\-HLTPHOSRcu\-Histogram\-Producer.h File Reference}
+\label{AliHLTPHOSRcuHistogramProducer_8h}\index{AliHLTPHOSRcuHistogramProducer.h@{AliHLTPHOSRcuHistogramProducer.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSDefinitions.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+{\tt \#include \char`\"{}TH1.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer}
+\end{CompactItemize}
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf XBIN\_\-LOW}\ 0
+\item 
+\#define {\bf XBIN\_\-UP}\ 1023
+\item 
+\#define {\bf N\_\-BINS}\ 1023
+\end{CompactItemize}
+
+
+\subsection{Define Documentation}
+\index{AliHLTPHOSRcuHistogramProducer.h@{Ali\-HLTPHOSRcu\-Histogram\-Producer.h}!N_BINS@{N\_\-BINS}}
+\index{N_BINS@{N\_\-BINS}!AliHLTPHOSRcuHistogramProducer.h@{Ali\-HLTPHOSRcu\-Histogram\-Producer.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define N\_\-BINS\ 1023}\label{AliHLTPHOSRcuHistogramProducer_8h_a2}
+
+
+
+
+Definition at line 15 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer::Init().\index{AliHLTPHOSRcuHistogramProducer.h@{Ali\-HLTPHOSRcu\-Histogram\-Producer.h}!XBIN_LOW@{XBIN\_\-LOW}}
+\index{XBIN_LOW@{XBIN\_\-LOW}!AliHLTPHOSRcuHistogramProducer.h@{Ali\-HLTPHOSRcu\-Histogram\-Producer.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define XBIN\_\-LOW\ 0}\label{AliHLTPHOSRcuHistogramProducer_8h_a0}
+
+
+
+
+Definition at line 13 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer::Init().\index{AliHLTPHOSRcuHistogramProducer.h@{Ali\-HLTPHOSRcu\-Histogram\-Producer.h}!XBIN_UP@{XBIN\_\-UP}}
+\index{XBIN_UP@{XBIN\_\-UP}!AliHLTPHOSRcuHistogramProducer.h@{Ali\-HLTPHOSRcu\-Histogram\-Producer.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define XBIN\_\-UP\ 1023}\label{AliHLTPHOSRcuHistogramProducer_8h_a1}
+
+
+
+
+Definition at line 14 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer::Init().
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTPHOSValidCellDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSValidCellDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..fe96c1e
--- /dev/null
@@ -0,0 +1,11 @@
+\section{Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSValidCellDataStruct_8h}\index{AliHLTPHOSValidCellDataStruct.h@{AliHLTPHOSValidCellDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Rtypes.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTPHOSValidChannelDataStruct_8h.tex b/HLT/PHOS/latex/AliHLTPHOSValidChannelDataStruct_8h.tex
new file mode 100644 (file)
index 0000000..15b6a6c
--- /dev/null
@@ -0,0 +1,12 @@
+\section{Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h File Reference}
+\label{AliHLTPHOSValidChannelDataStruct_8h}\index{AliHLTPHOSValidChannelDataStruct.h@{AliHLTPHOSValidChannelDataStruct.h}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Rtypes.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTPHOSCommon\-Defs.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+struct {\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTProcessor_8cxx.tex b/HLT/PHOS/latex/AliHLTProcessor_8cxx.tex
new file mode 100644 (file)
index 0000000..1916b21
--- /dev/null
@@ -0,0 +1,44 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTProcessor.cxx File Reference}
+\label{AliHLTProcessor_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTProcessor.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTProcessor.cxx}}
+
+
+\subsection{Detailed Description}
+Base class implementation for HLT analysis components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTProcessor.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTProcessor.h\char`\"{}}\par
+{\tt \#include $<$string.h$>$}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTProcessor}) {\bf Ali\-HLTProcessor}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTProcessor.cxx@{Ali\-HLTProcessor.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTProcessor.cxx@{Ali\-HLTProcessor.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTProcessor})}\label{AliHLTProcessor_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 32 of file Ali\-HLTProcessor.cxx.
+
+\footnotesize\begin{verbatim}35 { 
+36   // see header file for class documentation
+37   // or
+38   // refer to README to build package
+39   // or
+40   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+41 }
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTProcessor_8h.tex b/HLT/PHOS/latex/AliHLTProcessor_8h.tex
new file mode 100644 (file)
index 0000000..71937e6
--- /dev/null
@@ -0,0 +1,21 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTProcessor.h File Reference}
+\label{AliHLTProcessor_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTProcessor.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTProcessor.h}}
+
+
+\subsection{Detailed Description}
+Base class declaration for HLT analysis components. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTProcessor.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTProcessor}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTStdIncludes_8h.tex b/HLT/PHOS/latex/AliHLTStdIncludes_8h.tex
new file mode 100644 (file)
index 0000000..2924c75
--- /dev/null
@@ -0,0 +1,65 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTStd\-Includes.h File Reference}
+\label{AliHLTStdIncludes_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTStdIncludes.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTStdIncludes.h}}
+
+
+{\tt \#include $<$iostream.h$>$}\par
+{\tt \#include $<$fstream.h$>$}\par
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$math.h$>$}\par
+{\tt \#include $<$string.h$>$}\par
+{\tt \#include $<$time.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include $<$stdarg.h$>$}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item 
+\#define {\bf STDCOUT}\ cout
+\item 
+\#define {\bf STDCERR}\ cerr
+\item 
+\#define {\bf STDENDL}\ endl
+\item 
+\#define {\bf STDIF}\ ifstream
+\item 
+\#define {\bf STDOF}\ ofstream
+\end{CompactItemize}
+
+
+\subsection{Define Documentation}
+\index{AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}!STDCERR@{STDCERR}}
+\index{STDCERR@{STDCERR}!AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define STDCERR\ cerr}\label{AliHLTStdIncludes_8h_a1}
+
+
+
+
+Definition at line 42 of file Ali\-HLTStd\-Includes.h.\index{AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}!STDCOUT@{STDCOUT}}
+\index{STDCOUT@{STDCOUT}!AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define STDCOUT\ cout}\label{AliHLTStdIncludes_8h_a0}
+
+
+
+
+Definition at line 41 of file Ali\-HLTStd\-Includes.h.\index{AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}!STDENDL@{STDENDL}}
+\index{STDENDL@{STDENDL}!AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define STDENDL\ endl}\label{AliHLTStdIncludes_8h_a2}
+
+
+
+
+Definition at line 43 of file Ali\-HLTStd\-Includes.h.\index{AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}!STDIF@{STDIF}}
+\index{STDIF@{STDIF}!AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define STDIF\ ifstream}\label{AliHLTStdIncludes_8h_a3}
+
+
+
+
+Definition at line 44 of file Ali\-HLTStd\-Includes.h.\index{AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}!STDOF@{STDOF}}
+\index{STDOF@{STDOF}!AliHLTStdIncludes.h@{Ali\-HLTStd\-Includes.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define STDOF\ ofstream}\label{AliHLTStdIncludes_8h_a4}
+
+
+
+
+Definition at line 45 of file Ali\-HLTStd\-Includes.h.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLTSystem_8cxx.tex b/HLT/PHOS/latex/AliHLTSystem_8cxx.tex
new file mode 100644 (file)
index 0000000..70a0618
--- /dev/null
@@ -0,0 +1,91 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTSystem.cxx File Reference}
+\label{AliHLTSystem_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTSystem.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTSystem.cxx}}
+
+
+\subsection{Detailed Description}
+Implementation of HLT module management. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTSystem.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLTStd\-Includes.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTSystem.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent\-Handler.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTConfiguration.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTConfiguration\-Handler.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTTask.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTModule\-Agent.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTOffline\-Interface.h\char`\"{}}\par
+{\tt \#include $<$TObj\-Array.h$>$}\par
+{\tt \#include $<$TObj\-String.h$>$}\par
+{\tt \#include $<$TString.h$>$}\par
+{\tt \#include $<$TStopwatch.h$>$}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Imp} ({\bf Ali\-HLTSystem}) {\bf Ali\-HLTSystem}
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{AliHLTSystem.cxx@{Ali\-HLTSystem.cxx}!ClassImp@{ClassImp}}
+\index{ClassImp@{ClassImp}!AliHLTSystem.cxx@{Ali\-HLTSystem.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Class\-Imp ({\bf Ali\-HLTSystem})}\label{AliHLTSystem_8cxx_a0}
+
+
+ROOT macro for the implementation of ROOT specific class methods 
+
+Definition at line 43 of file Ali\-HLTSystem.cxx.
+
+References Ali\-HLTComponent\-Log\-Severity, Ali\-HLTComponent\-Environment::f\-Alloc\-Memory\-Func, Ali\-HLTComponent\-Environment::f\-Logging\-Func, Ali\-HLTConfiguration::Global\-Init(), HLTError, HLTFatal, HLTWarning, k\-HLTLog\-Default, and k\-HLTLog\-Error.
+
+\footnotesize\begin{verbatim}46   :
+47   fpComponentHandler(new AliHLTComponentHandler()),
+48   fpConfigurationHandler(new AliHLTConfigurationHandler()),
+49   fTaskList(),
+50   fState(0)
+51 {
+52   // see header file for class documentation
+53   // or
+54   // refer to README to build package
+55   // or
+56   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+57 
+58   if (fgNofInstances++>0)
+59     HLTWarning("multiple instances of AliHLTSystem, you should not use more than one at a time");
+60 
+61   SetGlobalLoggingLevel(kHLTLogDefault);
+62   if (fpComponentHandler) {
+63     AliHLTComponentEnvironment env;
+64     memset(&env, 0, sizeof(AliHLTComponentEnvironment));
+65     env.fAllocMemoryFunc=AliHLTSystem::AllocMemory;
+66     env.fLoggingFunc=NULL;
+67     AliHLTComponentLogSeverity loglevel=fpComponentHandler->GetLocalLoggingLevel();
+68     fpComponentHandler->SetLocalLoggingLevel(kHLTLogError);
+69     fpComponentHandler->SetEnvironment(&env);
+70     fpComponentHandler->LoadLibrary("libAliHLTUtil.so");
+71     fgAliLoggingFunc=(AliHLTLogging::AliHLTDynamicMessage)fpComponentHandler->FindSymbol("libAliHLTUtil.so", "AliDynamicMessage");
+72     fpComponentHandler->SetLocalLoggingLevel(loglevel);
+73     if (fgAliLoggingFunc==NULL) {
+74       HLTError("symbol lookp failure: can not find AliDynamicMessage, switching to HLT logging system");
+75     }
+76     fpComponentHandler->AnnounceVersion();
+77   } else {
+78     HLTFatal("can not create Component Handler");
+79   }
+80   if (fpConfigurationHandler) {
+81     AliHLTConfiguration::GlobalInit(fpConfigurationHandler);
+82   } else {
+83     HLTFatal("can not create Configuration Handler");
+84   }
+85 }
+
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/AliHLTSystem_8h.tex b/HLT/PHOS/latex/AliHLTSystem_8h.tex
new file mode 100644 (file)
index 0000000..7b6d12d
--- /dev/null
@@ -0,0 +1,24 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTSystem.h File Reference}
+\label{AliHLTSystem_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTSystem.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTSystem.h}}
+
+
+\subsection{Detailed Description}
+Global HLT module management and Ali\-Root integration. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]The class is used in Offline (Ali\-Root) context\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTSystem.h}.
+
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+{\tt \#include $<$TList.h$>$}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTSystem}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLTTask_8h.tex b/HLT/PHOS/latex/AliHLTTask_8h.tex
new file mode 100644 (file)
index 0000000..f503b70
--- /dev/null
@@ -0,0 +1,26 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLTTask.h File Reference}
+\label{AliHLTTask_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLTTask.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLTTask.h}}
+
+
+\subsection{Detailed Description}
+base class for HLT tasks 
+
+\begin{Desc}
+\item[Author:]Matthias Richter \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLTTask.h}.
+
+{\tt \#include $<$cerrno$>$}\par
+{\tt \#include $<$TObject.h$>$}\par
+{\tt \#include $<$TList.h$>$}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Types.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTLogging.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTData\-Buffer.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTTask}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/AliHLT__C__Component__WrapperInterface_8cxx.tex b/HLT/PHOS/latex/AliHLT__C__Component__WrapperInterface_8cxx.tex
new file mode 100644 (file)
index 0000000..37f996d
--- /dev/null
@@ -0,0 +1,58 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx File Reference}
+\label{AliHLT__C__Component__WrapperInterface_8cxx}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLT_C_Component_WrapperInterface.cxx@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLT\_\-C\_\-Component\_\-WrapperInterface.cxx}}
+
+
+\subsection{Detailed Description}
+Pure C interface to the Ali\-Root HLT component handler. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+
+
+Definition in file {\bf Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx}.
+
+{\tt \#include \char`\"{}Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent\-Handler.h\char`\"{}}\par
+{\tt \#include \char`\"{}Ali\-HLTComponent.h\char`\"{}}\par
+{\tt \#include $<$errno.h$>$}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Init\-System} ({\bf Ali\-HLTComponent\-Environment} $\ast$environ)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Deinit\-System} ()
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Load\-Library} (const char $\ast$library\-Path)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Unload\-Library} (const char $\ast$library\-Path)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Create\-Component} (const char $\ast$component\-Type, void $\ast$environ\_\-param, int argc, const char $\ast$$\ast$argv, {\bf Ali\-HLTComponent\-Handle} $\ast$handle)
+\item 
+void {\bf Ali\-HLT\_\-C\_\-Destroy\-Component} ({\bf Ali\-HLTComponent\-Handle} handle)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Process\-Event} ({\bf Ali\-HLTComponent\-Handle} handle, const {\bf Ali\-HLTComponent\_\-Event\-Data} $\ast$evt\-Data, const {\bf Ali\-HLTComponent\_\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\_\-Trigger\-Data} $\ast$trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} $\ast$size, {\bf Ali\-HLTUInt32\_\-t} $\ast$output\-Block\-Cnt, {\bf Ali\-HLTComponent\_\-Block\-Data} $\ast$$\ast$output\-Blocks, {\bf Ali\-HLTComponent\_\-Event\-Done\-Data} $\ast$$\ast$edd)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Get\-Output\-Data\-Type} ({\bf Ali\-HLTComponent\-Handle} handle, {\bf Ali\-HLTComponent\_\-Data\-Type} $\ast$data\-Type)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Get\-Output\-Size} ({\bf Ali\-HLTComponent\-Handle} handle, unsigned long $\ast$const\-Base, double $\ast$input\-Multiplier)
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent\-Handler} $\ast$ {\bf g\-Component\-Handler\_\-C} = NULL
+\end{CompactItemize}
+
+
+\subsection{Variable Documentation}
+\index{AliHLT_C_Component_WrapperInterface.cxx@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx}!gComponentHandler_C@{gComponentHandler\_\-C}}
+\index{gComponentHandler_C@{gComponentHandler\_\-C}!AliHLT_C_Component_WrapperInterface.cxx@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Handler}$\ast$ {\bf g\-Component\-Handler\_\-C} = NULL\hspace{0.3cm}{\tt  [static]}}\label{AliHLT__C__Component__WrapperInterface_8cxx_a0}
+
+
+
+
+Definition at line 34 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+Referenced by Ali\-HLT\_\-C\_\-Component\_\-Deinit\-System(), Ali\-HLT\_\-C\_\-Component\_\-Init\-System(), Ali\-HLT\_\-C\_\-Component\_\-Load\-Library(), Ali\-HLT\_\-C\_\-Component\_\-Unload\-Library(), and Ali\-HLT\_\-C\_\-Create\-Component().
\ No newline at end of file
diff --git a/HLT/PHOS/latex/AliHLT__C__Component__WrapperInterface_8h.tex b/HLT/PHOS/latex/AliHLT__C__Component__WrapperInterface_8h.tex
new file mode 100644 (file)
index 0000000..56ac7f5
--- /dev/null
@@ -0,0 +1,147 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h File Reference}
+\label{AliHLT__C__Component__WrapperInterface_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/AliHLT_C_Component_WrapperInterface.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/AliHLT\_\-C\_\-Component\_\-WrapperInterface.h}}
+
+
+\subsection{Detailed Description}
+Pure C interface to the Ali\-Root HLT component handler. 
+
+\begin{Desc}
+\item[Author:]Matthias Richter, Timm Steinbeck \end{Desc}
+\begin{Desc}
+\item[Date:]\end{Desc}
+\begin{Desc}
+\item[Note:]Utilized by the HLT Online (Pub\-Sub) framework\end{Desc}
+
+
+Definition in file {\bf Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}.
+
+{\tt \#include $<$Ali\-HLTData\-Types.h$>$}\par
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+typedef {\bf Ali\-HLTComponent\-Log\-Severity} {\bf Ali\-HLTComponent\_\-Log\-Severity}
+\item 
+typedef {\bf Ali\-HLTComponent\-Event\-Data} {\bf Ali\-HLTComponent\_\-Event\-Data}
+\item 
+typedef {\bf Ali\-HLTComponent\-Shm\-Data} {\bf Ali\-HLTComponent\_\-Shm\-Data}
+\item 
+typedef {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTComponent\_\-Data\-Type}
+\item 
+typedef {\bf Ali\-HLTComponent\-Block\-Data} {\bf Ali\-HLTComponent\_\-Block\-Data}
+\item 
+typedef {\bf Ali\-HLTComponent\-Trigger\-Data} {\bf Ali\-HLTComponent\_\-Trigger\-Data}
+\item 
+typedef {\bf Ali\-HLTComponent\-Event\-Done\-Data} {\bf Ali\-HLTComponent\_\-Event\-Done\-Data}
+\item 
+typedef void $\ast$ {\bf Ali\-HLTComponent\-Handle}
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Init\-System} ({\bf Ali\-HLTComponent\-Environment} $\ast$environ)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Deinit\-System} ()
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Load\-Library} (const char $\ast$library\-Path)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Unload\-Library} (const char $\ast$library\-Path)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Create\-Component} (const char $\ast$component\-Type, void $\ast$environ\_\-param, int argc, const char $\ast$$\ast$argv, {\bf Ali\-HLTComponent\-Handle} $\ast$handle)
+\item 
+void {\bf Ali\-HLT\_\-C\_\-Destroy\-Component} ({\bf Ali\-HLTComponent\-Handle})
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Process\-Event} ({\bf Ali\-HLTComponent\-Handle} handle, const {\bf Ali\-HLTComponent\_\-Event\-Data} $\ast$evt\-Data, const {\bf Ali\-HLTComponent\_\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\_\-Trigger\-Data} $\ast$trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} $\ast$size, {\bf Ali\-HLTUInt32\_\-t} $\ast$output\-Block\-Cnt, {\bf Ali\-HLTComponent\_\-Block\-Data} $\ast$$\ast$output\-Blocks, {\bf Ali\-HLTComponent\_\-Event\-Done\-Data} $\ast$$\ast$edd)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Get\-Output\-Data\-Type} ({\bf Ali\-HLTComponent\-Handle}, {\bf Ali\-HLTComponent\_\-Data\-Type} $\ast$data\-Type)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Get\-Output\-Size} ({\bf Ali\-HLTComponent\-Handle}, unsigned long $\ast$const\-Base, double $\ast$input\-Multiplier)
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTUInt32\_\-t} {\bf gk\-Ali\-HLTComponent\_\-Invalid\-Shm\-Type} = {\bf gk\-Ali\-HLTComponent\-Invalid\-Shm\-Type}
+\item 
+const {\bf Ali\-HLTUInt64\_\-t} {\bf gk\-Ali\-HLTComponent\_\-Invalid\-Shm\-ID} = {\bf gk\-Ali\-HLTComponent\-Invalid\-Shm\-ID}
+\item 
+const {\bf Ali\-HLTComponent\-Handle} {\bf k\-Empty\-HLTComponent\-Handle} = 0
+\end{CompactItemize}
+
+
+\subsection{Typedef Documentation}
+\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!AliHLTComponent_BlockData@{AliHLTComponent\_\-BlockData}}
+\index{AliHLTComponent_BlockData@{AliHLTComponent\_\-BlockData}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Block\-Data} {\bf Ali\-HLTComponent\_\-Block\-Data}}\label{AliHLT__C__Component__WrapperInterface_8h_a4}
+
+
+
+
+Definition at line 35 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.
+
+Referenced by Ali\-HLT\_\-C\_\-Process\-Event().\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!AliHLTComponent_DataType@{AliHLTComponent\_\-DataType}}
+\index{AliHLTComponent_DataType@{AliHLTComponent\_\-DataType}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTComponent\_\-Data\-Type}}\label{AliHLT__C__Component__WrapperInterface_8h_a3}
+
+
+
+
+Definition at line 34 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.
+
+Referenced by Ali\-HLT\_\-C\_\-Get\-Output\-Data\-Type().\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!AliHLTComponent_EventData@{AliHLTComponent\_\-EventData}}
+\index{AliHLTComponent_EventData@{AliHLTComponent\_\-EventData}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Event\-Data} {\bf Ali\-HLTComponent\_\-Event\-Data}}\label{AliHLT__C__Component__WrapperInterface_8h_a1}
+
+
+
+
+Definition at line 32 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.
+
+Referenced by Ali\-HLT\_\-C\_\-Process\-Event().\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!AliHLTComponent_EventDoneData@{AliHLTComponent\_\-EventDoneData}}
+\index{AliHLTComponent_EventDoneData@{AliHLTComponent\_\-EventDoneData}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Event\-Done\-Data} {\bf Ali\-HLTComponent\_\-Event\-Done\-Data}}\label{AliHLT__C__Component__WrapperInterface_8h_a6}
+
+
+
+
+Definition at line 37 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.
+
+Referenced by Ali\-HLT\_\-C\_\-Process\-Event().\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!AliHLTComponent_LogSeverity@{AliHLTComponent\_\-LogSeverity}}
+\index{AliHLTComponent_LogSeverity@{AliHLTComponent\_\-LogSeverity}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Log\-Severity} {\bf Ali\-HLTComponent\_\-Log\-Severity}}\label{AliHLT__C__Component__WrapperInterface_8h_a0}
+
+
+
+
+Definition at line 31 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!AliHLTComponent_ShmData@{AliHLTComponent\_\-ShmData}}
+\index{AliHLTComponent_ShmData@{AliHLTComponent\_\-ShmData}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Shm\-Data} {\bf Ali\-HLTComponent\_\-Shm\-Data}}\label{AliHLT__C__Component__WrapperInterface_8h_a2}
+
+
+
+
+Definition at line 33 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!AliHLTComponent_TriggerData@{AliHLTComponent\_\-TriggerData}}
+\index{AliHLTComponent_TriggerData@{AliHLTComponent\_\-TriggerData}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Ali\-HLTComponent\-Trigger\-Data} {\bf Ali\-HLTComponent\_\-Trigger\-Data}}\label{AliHLT__C__Component__WrapperInterface_8h_a5}
+
+
+
+
+Definition at line 36 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.
+
+Referenced by Ali\-HLT\_\-C\_\-Process\-Event().
+
+\subsection{Variable Documentation}
+\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!gkAliHLTComponent_InvalidShmID@{gkAliHLTComponent\_\-InvalidShmID}}
+\index{gkAliHLTComponent_InvalidShmID@{gkAliHLTComponent\_\-InvalidShmID}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTUInt64\_\-t} {\bf gk\-Ali\-HLTComponent\_\-Invalid\-Shm\-ID} = {\bf gk\-Ali\-HLTComponent\-Invalid\-Shm\-ID}}\label{AliHLT__C__Component__WrapperInterface_8h_a8}
+
+
+
+
+Definition at line 39 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.\index{AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}!gkAliHLTComponent_InvalidShmType@{gkAliHLTComponent\_\-InvalidShmType}}
+\index{gkAliHLTComponent_InvalidShmType@{gkAliHLTComponent\_\-InvalidShmType}!AliHLT_C_Component_WrapperInterface.h@{Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTUInt32\_\-t} {\bf gk\-Ali\-HLTComponent\_\-Invalid\-Shm\-Type} = {\bf gk\-Ali\-HLTComponent\-Invalid\-Shm\-Type}}\label{AliHLT__C__Component__WrapperInterface_8h_a7}
+
+
+
+
+Definition at line 38 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/HLTbaseLinkDef_8h.tex b/HLT/PHOS/latex/HLTbaseLinkDef_8h.tex
new file mode 100644 (file)
index 0000000..c4b5129
--- /dev/null
@@ -0,0 +1,4 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/HLTbase\-Link\-Def.h File Reference}
+\label{HLTbaseLinkDef_8h}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/HLTbaseLinkDef.h@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/HLTbaseLinkDef.h}}
+
+
diff --git a/HLT/PHOS/latex/classAliHLTComponent.eps b/HLT/PHOS/latex/classAliHLTComponent.eps
new file mode 100644 (file)
index 0000000..f27d306
--- /dev/null
@@ -0,0 +1,261 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 48.2625
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 10.36 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 5 def
+/cols 7 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+(AliHLTDataSink) cw
+(AliHLTDataSource) cw
+(AliHLTProcessor) cw
+(AliHLTOfflineDataSink) cw
+(AliHLTOfflineDataSource) cw
+(AliHLTPHOSDDLDecoderComponent) cw
+(AliHLTPHOSHistogramProducerComponent) cw
+(AliHLTPHOSModuleMergerComponent) cw
+(AliHLTPHOSRawAnalyzerComponent) cw
+(AliHLTPHOSRcuHistogramProducerComponent) cw
+(AliHLTPHOSRawAnalyzerCrudeComponent) cw
+(AliHLTPHOSRawAnalyzerPeakFinderComponent) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTComponent) 1 3 box
+ (AliHLTLogging) 1 4 box
+ (AliHLTDataSink) 0 2 box
+ (AliHLTDataSource) 1 2 box
+ (AliHLTProcessor) 4 2 box
+ (AliHLTOfflineDataSink) 0 1 box
+ (AliHLTOfflineDataSource) 1 1 box
+ (AliHLTPHOSDDLDecoderComponent) 2 1 box
+ (AliHLTPHOSHistogramProducerComponent) 3 1 box
+ (AliHLTPHOSModuleMergerComponent) 4 1 box
+ (AliHLTPHOSRawAnalyzerComponent) 5 1 box
+ (AliHLTPHOSRcuHistogramProducerComponent) 6 1 box
+ (AliHLTPHOSRawAnalyzerCrudeComponent) 4.5 0 box
+ (AliHLTPHOSRawAnalyzerPeakFinderComponent) 5.5 0 box
+
+% ----- relations -----
+
+solid
+0 1 3 out
+solid
+1 1 4 in
+solid
+1 1 2.25 out
+solid
+0 4 3 conn
+solid
+0 0 2.75 in
+solid
+1 0 1.25 out
+solid
+0 1 2.75 in
+solid
+1 1 1.25 out
+solid
+0 4 2.75 in
+solid
+1 4 1.25 out
+solid
+2 6 2 conn
+solid
+0 0 1.75 in
+solid
+0 1 1.75 in
+solid
+0 2 1.75 in
+solid
+0 3 1.75 in
+solid
+0 4 1.75 in
+solid
+0 5 1.75 in
+solid
+1 5 0.25 out
+solid
+4.5 5.5 1 conn
+solid
+0 6 1.75 in
+solid
+0 4.5 0.75 in
+solid
+0 5.5 0.75 in
diff --git a/HLT/PHOS/latex/classAliHLTComponent.tex b/HLT/PHOS/latex/classAliHLTComponent.tex
new file mode 100644 (file)
index 0000000..26910d5
--- /dev/null
@@ -0,0 +1,2284 @@
+\section{Ali\-HLTComponent Class Reference}
+\label{classAliHLTComponent}\index{AliHLTComponent@{AliHLTComponent}}
+{\tt \#include $<$Ali\-HLTComponent.h$>$}
+
+Inheritance diagram for Ali\-HLTComponent::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=1.35135cm]{classAliHLTComponent}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Base class of HLT data processing components. The class provides a common interface for HLT data processing components. The interface can be accessed from the online HLT framework or the Ali\-Root offline analysis framework. \subsection{Component identification and properties}\label{classAliHLTComponent_alihltcomponent-properties}
+Each component must provide a unique ID, input and output data type indications, and a spawn function. \subsubsection{Required property methods}\label{classAliHLTComponent_alihltcomponent-req-methods}
+\begin{itemize}
+\item {\bf Get\-Component\-ID}{\rm (p.\,\pageref{classAliHLTComponent_a9})}\item {\bf Get\-Input\-Data\-Types}{\rm (p.\,\pageref{classAliHLTComponent_a10})} (see {\bf Component type}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-type})} for default implementations.)\item {\bf Get\-Output\-Data\-Type}{\rm (p.\,\pageref{classAliHLTComponent_a11})} (see {\bf Component type}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-type})} for default implementations.)\item {\bf Get\-Output\-Data\-Size}{\rm (p.\,\pageref{classAliHLTComponent_a12})} (see {\bf Component type}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-type})} for default implementations.)\item {\bf Spawn}{\rm (p.\,\pageref{classAliHLTComponent_a13})}\end{itemize}
+\subsubsection{Optional handlers}\label{classAliHLTComponent_alihltcomponent-opt-mehods}
+\begin{itemize}
+\item {\bf Do\-Init}{\rm (p.\,\pageref{classAliHLTComponent_b5})}\item {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTComponent_b6})}\end{itemize}
+\subsubsection{Data processing}\label{classAliHLTComponent_alihltcomponent-processing-mehods}
+\subsubsection{Component type}\label{classAliHLTComponent_alihltcomponent-type}
+Components can be of type\begin{itemize}
+\item {\bf k\-Source}{\rm (p.\,\pageref{classAliHLTComponent_w9w1})} components which only produce data\item {\bf k\-Processor}{\rm (p.\,\pageref{classAliHLTComponent_w9w2})} components which consume and produce data\item {\bf k\-Sink}{\rm (p.\,\pageref{classAliHLTComponent_w9w3})} components which only consume data\end{itemize}
+
+
+where data production and consumption refer to the analysis data stream. In order to indicate the type, a child component can overload the {\bf Get\-Component\-Type}{\rm (p.\,\pageref{classAliHLTComponent_a8})} function. \paragraph{Standard implementations}\label{classAliHLTComponent_alihltcomponent-type-std}
+Components in general do not need to implement this function, standard implementations of the 3 types are available:\begin{itemize}
+\item {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})} for components of type {\bf k\-Source}{\rm (p.\,\pageref{classAliHLTComponent_w9w1})} \par
+ All types of data sources can inherit from {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})} and must implement the {\bf Ali\-HLTData\-Source::Get\-Event}{\rm (p.\,\pageref{classAliHLTDataSource_d0})} method. The class also implements a standard method for {\bf Get\-Input\-Data\-Types}{\rm (p.\,\pageref{classAliHLTComponent_a10})}.\end{itemize}
+
+
+\begin{itemize}
+\item {\bf Ali\-HLTProcessor}{\rm (p.\,\pageref{classAliHLTProcessor})} for components of type {\bf k\-Processor}{\rm (p.\,\pageref{classAliHLTComponent_w9w2})} \par
+ All types of data processors can inherit from {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})} and must implement the {\bf Ali\-HLTProcessor::Do\-Event}{\rm (p.\,\pageref{classAliHLTProcessor_d0})} method.\end{itemize}
+
+
+\begin{itemize}
+\item {\bf Ali\-HLTData\-Sink}{\rm (p.\,\pageref{classAliHLTDataSink})} for components of type {\bf k\-Sink}{\rm (p.\,\pageref{classAliHLTComponent_w9w3})} \par
+ All types of data processors can inherit from {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})} and must implement the {\bf Ali\-HLTData\-Sink::Dump\-Event}{\rm (p.\,\pageref{classAliHLTDataSink_d0})} method. The class also implements a standard method for {\bf Get\-Output\-Data\-Type}{\rm (p.\,\pageref{classAliHLTComponent_a11})} and {\bf Get\-Output\-Data\-Size}{\rm (p.\,\pageref{classAliHLTComponent_a12})}.\end{itemize}
+\subsubsection{Running environment}\label{classAliHLTComponent_alihltcomponent-environment}
+In order to adapt to different environments (on-line/off-line), the component gets an environment structure with function pointers. The base class provides member functions for those environment dependend functions. The member functions are used by the component implementation and are re-mapped to the corresponding functions. \subsection{Component interfaces}\label{classAliHLTComponent_alihltcomponent-interfaces}
+Each of the 3 standard component base classes {\bf Ali\-HLTProcessor}{\rm (p.\,\pageref{classAliHLTProcessor})}, {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})} and {\bf Ali\-HLTData\-Sink}{\rm (p.\,\pageref{classAliHLTDataSink})} provides it's own processing method (see {\bf Standard implementations}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-type-std})}), which splits into a high and a low-level method. For the {\bf Low-level interface}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-low-level-interface})}, all parameters are shipped as function arguments, the component is supposed to dump data to the output buffer and handle all block descriptors. The {\bf High-level interface}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-high-level-interface})} is the standard processing method and will be used whenever the low-level method is not overloaded.\subsubsection{High-level interface}\label{classAliHLTComponent_alihltcomponent-high-level-interface}
+The high-level component interface provides functionality to exchange ROOT structures between components. In contrast to the {\bf Low-level interface}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-low-level-interface})}, a couple of functions can be used to access data blocks of the input stream and send data blocks or ROOT TObject's to the output stream. The functionality is hidden from the user and is implemented by using ROOT's TMessage class.\paragraph{Interface methods}\label{classAliHLTComponent_alihltcomponent-high-level-int-methods}
+The interface provides a couple of methods in order to get objects from the input, data blocks (non TObject) from the input, and to push back objects and data blocks to the output. For convenience there are several functions of identical name (and similar behavior) with different parameters defined. Please refer to the function documentation.\begin{itemize}
+\item {\bf Get\-Number\-Of\-Input\-Blocks}{\rm (p.\,\pageref{classAliHLTComponent_b12})} \par
+ return the number of data blocks in the input stream\item {\bf Get\-First\-Input\-Object}{\rm (p.\,\pageref{classAliHLTComponent_b13})} \par
+ get the first object of a specific data type\item {\bf Get\-Next\-Input\-Object}{\rm (p.\,\pageref{classAliHLTComponent_b15})} \par
+ get the next object of same data type as last Get\-First\-Input\-Object/Block call\item {\bf Get\-First\-Input\-Block}{\rm (p.\,\pageref{classAliHLTComponent_b18})} \par
+ get the first block of a specific data type\item {\bf Get\-Next\-Input\-Block}{\rm (p.\,\pageref{classAliHLTComponent_b21})} \par
+ get the next block of same data type as last Get\-First\-Input\-Block/Block call\item {\bf Push\-Back}{\rm (p.\,\pageref{classAliHLTComponent_b23})} \par
+ insert an object or data buffer into the output\item {\bf Create\-Event\-Done\-Data}{\rm (p.\,\pageref{classAliHLTComponent_b28})} \par
+ add event information to the output\end{itemize}
+
+
+In addition, the processing methods are simplified a bit by cutting out most of the parameters. The component implementation \begin{Desc}
+\item[See also:]{\bf Ali\-HLTProcessor}{\rm (p.\,\pageref{classAliHLTProcessor})} {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})} {\bf Ali\-HLTData\-Sink}{\rm (p.\,\pageref{classAliHLTDataSink})}\end{Desc}
+{\em IMPORTANT:\/} objects and block descriptors provided by the high-level interface {\bf MUST NOT BE DELETED} by the caller.\paragraph{High-level interface guidelines}\label{classAliHLTComponent_alihltcomponent-high-level-int-guidelines}
+\begin{itemize}
+\item Structures must inherit from the ROOT object base class TObject in order be transported by the transportation framework.\item all pointer members must be transient (marked {\tt //!} behind the member definition), i.e. will not be stored/transported, or properly marked ({\tt //-$>$}) in order to call the streamer of the object the member is pointing to. The latter is not recomended. Structures to be transported between components should be streamlined.\item no use of stl vectors/strings, use appropriate ROOT classes instead\end{itemize}
+\subsubsection{Low-level interface}\label{classAliHLTComponent_alihltcomponent-low-level-interface}
+The low-level component interface consists of the specific data processing methods for {\bf Ali\-HLTProcessor}{\rm (p.\,\pageref{classAliHLTProcessor})}, {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})}, and {\bf Ali\-HLTData\-Sink}{\rm (p.\,\pageref{classAliHLTDataSink})}.\begin{itemize}
+\item {\bf Ali\-HLTProcessor::Do\-Event}{\rm (p.\,\pageref{classAliHLTProcessor_d0})}\item {\bf Ali\-HLTData\-Source::Get\-Event}{\rm (p.\,\pageref{classAliHLTDataSource_d0})}\item {\bf Ali\-HLTData\-Sink::Dump\-Event}{\rm (p.\,\pageref{classAliHLTDataSink_d0})}\end{itemize}
+\subsection{Component handling}\label{classAliHLTComponent_alihltcomponent-handling}
+The handling of HLT analysis components is carried out by the {\bf Ali\-HLTComponent\-Handler}{\rm (p.\,\pageref{classAliHLTComponentHandler})}. Component are registered automatically at load-time of the component shared library under the following suppositions:\begin{itemize}
+\item the component library has to be loaded from the {\bf Ali\-HLTComponent\-Handler}{\rm (p.\,\pageref{classAliHLTComponentHandler})} using the {\bf Ali\-HLTComponent\-Handler::Load\-Library}{\rm (p.\,\pageref{classAliHLTComponentHandler_a6})} method.\item the component implementation defines one global object (which is generated when the library is loaded)\end{itemize}
+\subsubsection{General design considerations}\label{classAliHLTComponent_alihltcomponent-design-rules}
+The analysis code should be implemented in one or more destict class(es). A {\em component\/} should be implemented which interface the destict analysis code to the component interface. This component generates the analysis object dynamically. \par
+
+
+Assume you have an implemetation {\tt  Ali\-HLTDet\-My\-Analysis }, another class {\tt  Ali\-HLTDet\-My\-Analysis\-Component } contains: \small\begin{alltt}
+ private:
+   AliHLTDetMyAnalysis* fMyAnalysis;  //!
+ \end{alltt}\normalsize 
+ The object should then be instantiated in the Do\-Init handler of {\tt Ali\-HLTDet\-My\-Analysis\-Component }, and cleaned in the Do\-Deinit handler.
+
+Further rules:\begin{itemize}
+\item avoid big static arrays in the component, allocate the memory at runtime\end{itemize}
+\subsection{Class members}\label{classAliHLTComponent_alihltcomponent-members}
+
+
+
+
+Definition at line 197 of file Ali\-HLTComponent.h.\subsection*{Public Types}
+\begin{CompactItemize}
+\item 
+enum {\bf TComponent\-Type} \{ {\bf k\-Unknown} = 0, 
+{\bf k\-Source} = 1, 
+{\bf k\-Processor} = 2, 
+{\bf k\-Sink} = 3
+ \}
+\item 
+enum {\bf Ali\-HLTStopwatch\-Type} \{ \par
+{\bf k\-SWBase}, 
+{\bf k\-SWDA}, 
+{\bf k\-SWInput}, 
+{\bf k\-SWOutput}, 
+\par
+{\bf k\-SWType\-Count}
+ \}
+\end{CompactItemize}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent} ()
+\item 
+{\bf Ali\-HLTComponent} (const {\bf Ali\-HLTComponent} \&)
+\item 
+{\bf Ali\-HLTComponent} \& {\bf operator=} (const {\bf Ali\-HLTComponent} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTComponent} ()
+\item 
+virtual int {\bf Init} ({\bf Ali\-HLTComponent\-Environment} $\ast$environ, void $\ast$environ\-Param, int argc, const char $\ast$$\ast$argv)
+\item 
+virtual int {\bf Deinit} ()
+\item 
+int {\bf Process\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, {\bf Ali\-HLTUInt32\_\-t} \&output\-Block\-Cnt, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$\&output\-Blocks, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\&edd)
+\item 
+virtual int {\bf Do\-Processing} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\&edd)=0
+\item 
+virtual {\bf TComponent\-Type} {\bf Get\-Component\-Type} ()=0
+\item 
+virtual const char $\ast$ {\bf Get\-Component\-ID} ()=0
+\item 
+virtual void {\bf Get\-Input\-Data\-Types} (vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)=0
+\item 
+virtual {\bf Ali\-HLTComponent\-Data\-Type} {\bf Get\-Output\-Data\-Type} ()=0
+\item 
+virtual void {\bf Get\-Output\-Data\-Size} (unsigned long \&const\-Base, double \&input\-Multiplier)=0
+\item 
+virtual {\bf Ali\-HLTComponent} $\ast$ {\bf Spawn} ()=0
+\item 
+int {\bf Find\-Matching\-Data\-Types} ({\bf Ali\-HLTComponent} $\ast$p\-Consumer, vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ $\ast$tgt\-List)
+\item 
+void {\bf Print\-Data\-Type\-Content} ({\bf Ali\-HLTComponent\-Data\-Type} \&dt, const char $\ast$format=NULL) const 
+\item 
+void {\bf Print\-Component\-Data\-Type\-Info} (const {\bf Ali\-HLTComponent\-Data\-Type} \&dt)
+\item 
+int {\bf Set\-Stopwatch} (TObject $\ast$p\-SW, {\bf Ali\-HLTStopwatch\-Type} type=k\-SWBase)
+\item 
+int {\bf Set\-Stopwatches} (TObj\-Array $\ast$p\-Stopwatches)
+\end{CompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Set\-Global\-Component\-Handler} ({\bf Ali\-HLTComponent\-Handler} $\ast$p\-CH, int b\-Overwrite=0)
+\item 
+int {\bf Unset\-Global\-Component\-Handler} ()
+\item 
+string {\bf Data\-Type2Text} (const {\bf Ali\-HLTComponent\-Data\-Type} \&type)
+\item 
+void {\bf Fill\-Event\-Data} ({\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data)
+\end{CompactItemize}
+\subsection*{Protected Member Functions}
+\begin{CompactItemize}
+\item 
+void {\bf Fill\-Block\-Data} ({\bf Ali\-HLTComponent\-Block\-Data} \&block\-Data) const 
+\item 
+void {\bf Fill\-Shm\-Data} ({\bf Ali\-HLTComponent\-Shm\-Data} \&shm\-Data) const 
+\item 
+void {\bf Fill\-Data\-Type} ({\bf Ali\-HLTComponent\-Data\-Type} \&data\-Type) const 
+\item 
+void {\bf Copy\-Data\-Type} ({\bf Ali\-HLTComponent\-Data\-Type} \&tgtdt, const {\bf Ali\-HLTComponent\-Data\-Type} \&srcdt)
+\item 
+void {\bf Set\-Data\-Type} ({\bf Ali\-HLTComponent\-Data\-Type} \&tgtdt, const char $\ast$id, const char $\ast$origin)
+\item 
+virtual int {\bf Do\-Init} (int argc, const char $\ast$$\ast$argv)
+\item 
+virtual int {\bf Do\-Deinit} ()
+\item 
+void $\ast$ {\bf Alloc\-Memory} (unsigned long size)
+\item 
+int {\bf Make\-Output\-Data\-Block\-List} (const vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&blocks, {\bf Ali\-HLTUInt32\_\-t} $\ast$block\-Count, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$$\ast$output\-Blocks)
+\item 
+int {\bf Get\-Event\-Done\-Data} (unsigned long size, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$$\ast$edd)
+\item 
+void {\bf Data\-Type2Text} (const {\bf Ali\-HLTComponent\-Data\-Type} \&type, char output[{\bf k\-Ali\-HLTComponent\-Data\-Typef\-IDsize}+{\bf k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size}+2]) const 
+\item 
+int {\bf Get\-Event\-Count} () const 
+\item 
+int {\bf Get\-Number\-Of\-Input\-Blocks} () const 
+\item 
+const TObject $\ast$ {\bf Get\-First\-Input\-Object} (const {\bf Ali\-HLTComponent\-Data\-Type} \&dt={\bf k\-Ali\-HLTAny\-Data\-Type}, const char $\ast$classname=NULL, int b\-Force=0)
+\item 
+const TObject $\ast$ {\bf Get\-First\-Input\-Object} (const char $\ast$dt\-ID, const char $\ast$dt\-Origin, const char $\ast$classname=NULL, int b\-Force=0)
+\item 
+const TObject $\ast$ {\bf Get\-Next\-Input\-Object} (int b\-Force=0)
+\item 
+{\bf Ali\-HLTComponent\-Data\-Type} {\bf Get\-Data\-Type} (const TObject $\ast$p\-Object=NULL)
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf Get\-Specification} (const TObject $\ast$p\-Object=NULL)
+\item 
+const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\bf Get\-First\-Input\-Block} (const {\bf Ali\-HLTComponent\-Data\-Type} \&dt={\bf k\-Ali\-HLTAny\-Data\-Type})
+\item 
+const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\bf Get\-First\-Input\-Block} (const char $\ast$dt\-ID, const char $\ast$dt\-Origin)
+\item 
+const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\bf Get\-Input\-Block} (int index)
+\item 
+const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\bf Get\-Next\-Input\-Block} ()
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf Get\-Specification} (const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$p\-Block=NULL)
+\item 
+int {\bf Push\-Back} (TObject $\ast$p\-Object, const {\bf Ali\-HLTComponent\-Data\-Type} \&dt, {\bf Ali\-HLTUInt32\_\-t} spec={\bf k\-Ali\-HLTVoid\-Data\-Spec})
+\item 
+int {\bf Push\-Back} (TObject $\ast$p\-Object, const char $\ast$dt\-ID, const char $\ast$dt\-Origin, {\bf Ali\-HLTUInt32\_\-t} spec={\bf k\-Ali\-HLTVoid\-Data\-Spec})
+\item 
+int {\bf Push\-Back} (void $\ast$p\-Buffer, int i\-Size, const {\bf Ali\-HLTComponent\-Data\-Type} \&dt, {\bf Ali\-HLTUInt32\_\-t} spec={\bf k\-Ali\-HLTVoid\-Data\-Spec})
+\item 
+int {\bf Push\-Back} (void $\ast$p\-Buffer, int i\-Size, const char $\ast$dt\-ID, const char $\ast$dt\-Origin, {\bf Ali\-HLTUInt32\_\-t} spec={\bf k\-Ali\-HLTVoid\-Data\-Spec})
+\item 
+int {\bf Estimate\-Object\-Size} (TObject $\ast$p\-Object) const 
+\item 
+int {\bf Create\-Event\-Done\-Data} ({\bf Ali\-HLTComponent\-Event\-Done\-Data} edd)
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Increment\-Event\-Counter} ()
+\item 
+int {\bf Find\-Input\-Block} (const {\bf Ali\-HLTComponent\-Data\-Type} \&dt, int start\-Idx=-1) const 
+\item 
+int {\bf Find\-Input\-Block} (const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$p\-Block) const 
+\item 
+TObject $\ast$ {\bf Create\-Input\-Object} (int idx, int b\-Force=0)
+\item 
+TObject $\ast$ {\bf Get\-Input\-Object} (int idx, const char $\ast$classname=NULL, int b\-Force=0)
+\item 
+int {\bf Cleanup\-Input\-Objects} ()
+\item 
+int {\bf Insert\-Output\-Block} (void $\ast$p\-Buffer, int i\-Size, const {\bf Ali\-HLTComponent\-Data\-Type} \&dt, {\bf Ali\-HLTUInt32\_\-t} spec)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent\-Environment} {\bf f\-Environment}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+{\bf Ali\-HLTEvent\-ID\_\-t} {\bf f\-Current\-Event}
+\item 
+int {\bf f\-Event\-Count}
+\item 
+int {\bf f\-Failed\-Events}
+\item 
+{\bf Ali\-HLTComponent\-Event\-Data} {\bf f\-Current\-Event\-Data}
+\item 
+const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\bf fp\-Input\-Blocks}
+\item 
+int {\bf f\-Current\-Input\-Block}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+{\bf Ali\-HLTComponent\-Data\-Type} {\bf f\-Search\-Data\-Type}
+\item 
+string {\bf f\-Class\-Name}
+\item 
+TObj\-Array $\ast$ {\bf fp\-Input\-Objects}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} $\ast$ {\bf fp\-Output\-Buffer}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Output\-Buffer\-Size}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Output\-Buffer\-Filled}
+\item 
+vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ {\bf f\-Output\-Blocks}
+\item 
+TObj\-Array $\ast$ {\bf fp\-Stopwatches}
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent\-Handler} $\ast$ {\bf fgp\-Component\-Handler} = NULL
+\end{CompactItemize}
+
+
+\subsection{Member Enumeration Documentation}
+\index{AliHLTComponent@{Ali\-HLTComponent}!AliHLTStopwatchType@{AliHLTStopwatchType}}
+\index{AliHLTStopwatchType@{AliHLTStopwatchType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ali\-HLTComponent::Ali\-HLTStopwatch\-Type}}\label{classAliHLTComponent_w10}
+
+
+Stopwatch type for benchmarking. \begin{Desc}
+\item[Enumeration values: ]\par
+\begin{description}
+\index{kSWBase@{kSWBase}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kSWBase@{kSWBase}}\item[{\em 
+k\-SWBase\label{classAliHLTComponent_w10w4}
+}]total time for event processing \index{kSWDA@{kSWDA}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kSWDA@{kSWDA}}\item[{\em 
+k\-SWDA\label{classAliHLTComponent_w10w5}
+}]detector algorithm w/o interface callbacks \index{kSWInput@{kSWInput}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kSWInput@{kSWInput}}\item[{\em 
+k\-SWInput\label{classAliHLTComponent_w10w6}
+}]data sources \index{kSWOutput@{kSWOutput}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kSWOutput@{kSWOutput}}\item[{\em 
+k\-SWOutput\label{classAliHLTComponent_w10w7}
+}]data sinks \index{kSWTypeCount@{kSWTypeCount}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kSWTypeCount@{kSWTypeCount}}\item[{\em 
+k\-SWType\-Count\label{classAliHLTComponent_w10w8}
+}]number of types \end{description}
+\end{Desc}
+
+
+
+Definition at line 374 of file Ali\-HLTComponent.h.
+
+\footnotesize\begin{verbatim}374                            {
+376     kSWBase,
+378     kSWDA,
+380     kSWInput,
+382     kSWOutput,
+384     kSWTypeCount
+385   };
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!TComponentType@{TComponentType}}
+\index{TComponentType@{TComponentType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ali\-HLTComponent::TComponent\-Type}}\label{classAliHLTComponent_w9}
+
+
+component type definitions \begin{Desc}
+\item[Enumeration values: ]\par
+\begin{description}
+\index{kUnknown@{kUnknown}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kUnknown@{kUnknown}}\item[{\em 
+k\-Unknown\label{classAliHLTComponent_w9w0}
+}]\index{kSource@{kSource}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kSource@{kSource}}\item[{\em 
+k\-Source\label{classAliHLTComponent_w9w1}
+}]\index{kProcessor@{kProcessor}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kProcessor@{kProcessor}}\item[{\em 
+k\-Processor\label{classAliHLTComponent_w9w2}
+}]\index{kSink@{kSink}!AliHLTComponent@{AliHLTComponent}}\index{AliHLTComponent@{AliHLTComponent}!kSink@{kSink}}\item[{\em 
+k\-Sink\label{classAliHLTComponent_w9w3}
+}]\end{description}
+\end{Desc}
+
+
+
+Definition at line 209 of file Ali\-HLTComponent.h.
+
+\footnotesize\begin{verbatim}209 { kUnknown=0, kSource=1, kProcessor=2, kSink=3 };
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTComponent@{Ali\-HLTComponent}!AliHLTComponent@{AliHLTComponent}}
+\index{AliHLTComponent@{AliHLTComponent}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent::Ali\-HLTComponent ()}\label{classAliHLTComponent_a0}
+
+
+standard constructor 
+
+Definition at line 49 of file Ali\-HLTComponent.cxx.
+
+References f\-Environment, fgp\-Component\-Handler, k\-Ali\-HLTVoid\-Data\-Type, k\-HLTLog\-Default, Ali\-HLTComponent\-Handler::Schedule\-Register(), and Ali\-HLTLogging::Set\-Local\-Logging\-Level().
+
+\footnotesize\begin{verbatim}50   :
+51   fEnvironment(),
+52   fCurrentEvent(0),
+53   fEventCount(-1),
+54   fFailedEvents(0),
+55   fCurrentEventData(),
+56   fpInputBlocks(NULL),
+57   fCurrentInputBlock(-1),
+58   fSearchDataType(kAliHLTVoidDataType),
+59   fClassName(),
+60   fpInputObjects(NULL),
+61   fpOutputBuffer(NULL),
+62   fOutputBufferSize(0),
+63   fOutputBufferFilled(0),
+64   fOutputBlocks(),
+65   fpStopwatches(new TObjArray(kSWTypeCount))
+66 {
+67   // see header file for class documentation
+68   // or
+69   // refer to README to build package
+70   // or
+71   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+72   memset(&fEnvironment, 0, sizeof(AliHLTComponentEnvironment));
+73   if (fgpComponentHandler)
+74     fgpComponentHandler->ScheduleRegister(this);
+75   SetLocalLoggingLevel(kHLTLogDefault);
+76 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!AliHLTComponent@{AliHLTComponent}}
+\index{AliHLTComponent@{AliHLTComponent}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent::Ali\-HLTComponent (const {\bf Ali\-HLTComponent} \&)}\label{classAliHLTComponent_a1}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 78 of file Ali\-HLTComponent.cxx.
+
+References HLTFatal, and k\-Ali\-HLTVoid\-Data\-Type.
+
+\footnotesize\begin{verbatim}79   :
+80   AliHLTLogging(),
+81   fEnvironment(),
+82   fCurrentEvent(0),
+83   fEventCount(-1),
+84   fFailedEvents(0),
+85   fCurrentEventData(),
+86   fpInputBlocks(NULL),
+87   fCurrentInputBlock(-1),
+88   fSearchDataType(kAliHLTVoidDataType),
+89   fClassName(),
+90   fpInputObjects(NULL),
+91   fpOutputBuffer(NULL),
+92   fOutputBufferSize(0),
+93   fOutputBufferFilled(0),
+94   fOutputBlocks(),
+95   fpStopwatches(NULL)
+96 {
+97   // see header file for class documentation
+98   HLTFatal("copy constructor untested");
+99 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!~AliHLTComponent@{$\sim$AliHLTComponent}}
+\index{~AliHLTComponent@{$\sim$AliHLTComponent}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent::$\sim${\bf Ali\-HLTComponent} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTComponent_a3}
+
+
+standard destructor 
+
+Definition at line 108 of file Ali\-HLTComponent.cxx.
+
+References Cleanup\-Input\-Objects(), and fp\-Stopwatches.
+
+\footnotesize\begin{verbatim}109 {
+110   // see header file for function documentation
+111   CleanupInputObjects();
+112   if (fpStopwatches!=NULL) delete fpStopwatches;
+113   fpStopwatches=NULL;
+114 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTComponent@{Ali\-HLTComponent}!AllocMemory@{AllocMemory}}
+\index{AllocMemory@{AllocMemory}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void $\ast$ Ali\-HLTComponent::Alloc\-Memory (unsigned long {\em size})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b7}
+
+
+General memory allocation method. All memory which is going to be used 'outside' of the interface must be provided by the framework (online or offline). The method is redirected to a function provided by the current framework. Function pointers are transferred via the {\bf Ali\-HLTComponent\-Environment}{\rm (p.\,\pageref{structAliHLTComponentEnvironment})} structure. 
+
+Definition at line 249 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Environment::f\-Alloc\-Memory\-Func, f\-Environment, Ali\-HLTComponent\-Environment::f\-Param, and HLTFatal.
+
+Referenced by Make\-Output\-Data\-Block\-List().
+
+\footnotesize\begin{verbatim}250 {
+251   // see header file for function documentation
+252   if (fEnvironment.fAllocMemoryFunc)
+253     return (*fEnvironment.fAllocMemoryFunc)(fEnvironment.fParam, size );
+254   HLTFatal("no memory allocation handler registered");
+255   return NULL;
+256 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!CleanupInputObjects@{CleanupInputObjects}}
+\index{CleanupInputObjects@{CleanupInputObjects}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Cleanup\-Input\-Objects ()\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_d5}
+
+
+Clean the list of input objects. Cleanup is done at the end of each event processing. 
+
+Definition at line 564 of file Ali\-HLTComponent.cxx.
+
+References fp\-Input\-Objects.
+
+Referenced by Process\-Event(), and $\sim$Ali\-HLTComponent().
+
+\footnotesize\begin{verbatim}565 {
+566   // see header file for function documentation
+567   if (!fpInputObjects) return 0;
+568   TObjArray* array=fpInputObjects;
+569   fpInputObjects=NULL;
+570   for (int i=0; i<array->GetEntries(); i++) {
+571     TObject* pObj=array->At(i);
+572     if (pObj) delete pObj;
+573   }
+574   delete array;
+575   return 0;
+576 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!CopyDataType@{CopyDataType}}
+\index{CopyDataType@{CopyDataType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Copy\-Data\-Type ({\bf Ali\-HLTComponent\-Data\-Type} \& {\em tgtdt}, const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em srcdt})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b3}
+
+
+Copy data type structure Copies the value an {\bf Ali\-HLTComponent\-Data\-Type}{\rm (p.\,\pageref{structAliHLTComponentDataType})} structure to another one \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[\mbox{$\rightarrow$} {\em tgtdt}]target structure \item[\mbox{$\leftarrow$} {\em srcdt}]source structure \end{description}
+\end{Desc}
+
+
+Definition at line 374 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID, Ali\-HLTComponent\-Data\-Type::f\-Origin, k\-Ali\-HLTComponent\-Data\-Typef\-IDsize, and k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size.
+
+\footnotesize\begin{verbatim}375 {
+376   // see header file for function documentation
+377   memcpy(&tgtdt.fID[0], &srcdt.fID[0], kAliHLTComponentDataTypefIDsize);
+378   memcpy(&tgtdt.fOrigin[0], &srcdt.fOrigin[0], kAliHLTComponentDataTypefOriginSize);
+379 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!CreateEventDoneData@{CreateEventDoneData}}
+\index{CreateEventDoneData@{CreateEventDoneData}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Create\-Event\-Done\-Data ({\bf Ali\-HLTComponent\-Event\-Done\-Data} {\em edd})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b28}
+
+
+Insert event-done data information into the output. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em edd}]event-done data information \end{description}
+\end{Desc}
+
+
+Definition at line 790 of file Ali\-HLTComponent.cxx.
+
+References HLTWarning.
+
+\footnotesize\begin{verbatim}791 {
+792   // see header file for function documentation
+793   int iResult=-ENOSYS;
+794   //#warning  function not yet implemented
+795   HLTWarning("function not yet implemented");
+796   return iResult;
+797 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!CreateInputObject@{CreateInputObject}}
+\index{CreateInputObject@{CreateInputObject}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TObject $\ast$ Ali\-HLTComponent::Create\-Input\-Object (int {\em idx}, int {\em b\-Force} = {\tt 0})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_d3}
+
+
+Create an object from a specified input block. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em idx}]index of the input block \item[{\em b\-Force}]force the retrieval of an object, error messages are suppressed if {\em b\-Force\/} is not set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to TObject, caller must delete the object after use \end{Desc}
+
+
+Definition at line 509 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTUInt32\_\-t, Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, f\-Current\-Event\-Data, fp\-Input\-Blocks, Ali\-HLTComponent\-Block\-Data::f\-Ptr, Ali\-HLTComponent\-Block\-Data::f\-Size, Ali\-HLTMessage::Get\-Class(), HLTDebug, HLTError, and HLTFatal.
+
+Referenced by Get\-Input\-Object().
+
+\footnotesize\begin{verbatim}510 {
+511   // see header file for function documentation
+512   TObject* pObj=NULL;
+513   if (fpInputBlocks!=NULL) {
+514     if ((UInt_t)idx<fCurrentEventData.fBlockCnt) {
+515       if (fpInputBlocks[idx].fPtr) {
+516         AliHLTUInt32_t firstWord=*((AliHLTUInt32_t*)fpInputBlocks[idx].fPtr);
+517         if (firstWord==fpInputBlocks[idx].fSize-sizeof(AliHLTUInt32_t)) {
+518           HLTDebug("create object from block %d size %d", idx, fpInputBlocks[idx].fSize);
+519           AliHLTMessage msg(fpInputBlocks[idx].fPtr, fpInputBlocks[idx].fSize);
+520           TClass* objclass=msg.GetClass();
+521           pObj=msg.ReadObject(objclass);
+522           if (pObj && objclass) {
+523             HLTDebug("object %p type %s created", pObj, objclass->GetName());
+524           } else {
+525           }
+526         } else {
+527           //    } else if (bForce!=0) {
+528           HLTError("size missmatch: block size %d, indicated %d", fpInputBlocks[idx].fSize, firstWord+sizeof(AliHLTUInt32_t));
+529         }
+530       } else {
+531         HLTFatal("block descriptor empty");
+532       }
+533     } else {
+534       HLTError("index %d out of range %d", idx, fCurrentEventData.fBlockCnt);
+535     }
+536   } else {
+537     HLTError("no input blocks available");
+538   }
+539   
+540   return pObj;
+541 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!DataType2Text@{DataType2Text}}
+\index{DataType2Text@{DataType2Text}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Data\-Type2Text (const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em type}, char {\em output}[k\-Ali\-HLTComponent\-Data\-Typef\-IDsize+k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size+2]) const\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b10}
+
+
+Helper function to convert the data type to a string. 
+
+Definition at line 216 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID, Ali\-HLTComponent\-Data\-Type::f\-Origin, k\-Ali\-HLTComponent\-Data\-Typef\-IDsize, and k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size.
+
+\footnotesize\begin{verbatim}217 {
+218   // see header file for function documentation
+219   memset( output, 0, kAliHLTComponentDataTypefIDsize+kAliHLTComponentDataTypefOriginSize+2 );
+220   strncat( output, type.fOrigin, kAliHLTComponentDataTypefOriginSize );
+221   strcat( output, ":" );
+222   strncat( output, type.fID, kAliHLTComponentDataTypefIDsize );
+223 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!DataType2Text@{DataType2Text}}
+\index{DataType2Text@{DataType2Text}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}string Ali\-HLTComponent::Data\-Type2Text (const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em type})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTComponent_e2}
+
+
+Helper function to convert the data type to a string. 
+
+Definition at line 225 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID, Ali\-HLTComponent\-Data\-Type::f\-Origin, k\-Ali\-HLTComponent\-Data\-Typef\-IDsize, and k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size.
+
+Referenced by Get\-First\-Input\-Object(), and Print\-Data\-Type\-Content().
+
+\footnotesize\begin{verbatim}226 {
+227   // see header file for function documentation
+228   string out("");
+229   
+230   if (type==kAliHLTVoidDataType) {
+231     out="VOID:VOID";
+232   } else {
+233     // some gymnastics in order to avoid a '0' which is part of either or both
+234     // ID and origin terminating the whole string. Unfortunately, string doesn't
+235     // stop appending at the '0' if the number of elements to append was 
+236     // explicitely specified
+237     string tmp("");
+238     tmp.append(type.fOrigin, kAliHLTComponentDataTypefOriginSize);
+239     out.append(tmp.c_str());
+240     out.append(":");
+241     tmp="";
+242     tmp.append(type.fID, kAliHLTComponentDataTypefIDsize);
+243     out.append(tmp.c_str());
+244   }
+245   return out;
+246 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!Deinit@{Deinit}}
+\index{Deinit@{Deinit}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTComponent_a5}
+
+
+Clean-up function to terminate data processing. Clean-up of common data structures after data processing. The call is redirected to the internal method {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTComponent_b6})} which can be overridden by the child class. 
+
+Reimplemented in {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_a3})}, {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a5})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a5})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a5})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_a5})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a3})}.
+
+Definition at line 191 of file Ali\-HLTComponent.cxx.
+
+References Do\-Deinit().
+
+Referenced by Ali\-HLT\_\-C\_\-Destroy\-Component(), Ali\-HLTProcessor::Deinit(), and Ali\-HLTTask::Deinit().
+
+\footnotesize\begin{verbatim}192 {
+193   // see header file for function documentation
+194   int iResult=0;
+195   iResult=DoDeinit();
+196   return iResult;
+197 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!DoDeinit@{DoDeinit}}
+\index{DoDeinit@{DoDeinit}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Do\-Deinit ()\hspace{0.3cm}{\tt  [protected, virtual]}}\label{classAliHLTComponent_b6}
+
+
+Default method for the internal clean-up. The method is called by {\bf Deinit}{\rm (p.\,\pageref{classAliHLTComponent_a5})} 
+
+Reimplemented in {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a6})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a6})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a6})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_a6})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a4})}.
+
+Definition at line 209 of file Ali\-HLTComponent.cxx.
+
+References f\-Event\-Count.
+
+Referenced by Deinit().
+
+\footnotesize\begin{verbatim}210 {
+211   // see header file for function documentation
+212   fEventCount=0;
+213   return 0;
+214 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!DoInit@{DoInit}}
+\index{DoInit@{DoInit}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Do\-Init (int {\em argc}, const char $\ast$$\ast$ {\em argv})\hspace{0.3cm}{\tt  [protected, virtual]}}\label{classAliHLTComponent_b5}
+
+
+Default method for the internal initialization. The method is called by {\bf Init}{\rm (p.\,\pageref{classAliHLTComponent_a4})} 
+
+Reimplemented in {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a4})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a4})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a4})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_a4})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a2})}.
+
+Definition at line 199 of file Ali\-HLTComponent.cxx.
+
+References f\-Event\-Count.
+
+Referenced by Init().
+
+\footnotesize\begin{verbatim}200 {
+201   // see header file for function documentation
+202   if (argc==0 && argv==NULL) {
+203     // this is currently just to get rid of the warning "unused parameter"
+204   }
+205   fEventCount=0;
+206   return 0;
+207 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!DoProcessing@{DoProcessing}}
+\index{DoProcessing@{DoProcessing}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual int Ali\-HLTComponent::Do\-Processing (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks}, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\& {\em edd})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAliHLTComponent_a7}
+
+
+Internal processing of one event. The method is pure virtual and implemented by the child classes\begin{itemize}
+\item {\bf Ali\-HLTProcessor}{\rm (p.\,\pageref{classAliHLTProcessor})}\item {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})}\item {\bf Ali\-HLTData\-Sink}{\rm (p.\,\pageref{classAliHLTDataSink})}\end{itemize}
+
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]\item[{\em blocks}]\item[{\em trig\-Data}]\item[{\em output\-Ptr}]\item[{\em size}]\item[{\em output\-Blocks}]out: the output block array is allocated internally \item[{\em edd}]\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Implemented in {\bf Ali\-HLTData\-Sink} {\rm (p.\,\pageref{classAliHLTDataSink_a2})}, {\bf Ali\-HLTData\-Source} {\rm (p.\,\pageref{classAliHLTDataSource_a2})}, and {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_a4})}.
+
+Referenced by Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!EstimateObjectSize@{EstimateObjectSize}}
+\index{EstimateObjectSize@{EstimateObjectSize}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Estimate\-Object\-Size (TObject $\ast$ {\em p\-Object}) const\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b27}
+
+
+Estimate size of a TObject \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Object}]\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]buffer size in byte \end{Desc}
+
+
+Definition at line 781 of file Ali\-HLTComponent.cxx.
+
+\footnotesize\begin{verbatim}782 {
+783   // see header file for function documentation
+784   if (!pObject) return -EINVAL;
+785     AliHLTMessage msg(kMESS_OBJECT);
+786     msg.WriteObject(pObject);
+787     return msg.Length();  
+788 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!FillBlockData@{FillBlockData}}
+\index{FillBlockData@{FillBlockData}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Fill\-Block\-Data ({\bf Ali\-HLTComponent\-Block\-Data} \& {\em block\-Data}) const\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b0}
+
+
+Fill {\bf Ali\-HLTComponent\-Block\-Data}{\rm (p.\,\pageref{structAliHLTComponentBlockData})} structure with default values. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em block\-Data}]reference to data structure \end{description}
+\end{Desc}
+
+
+Definition at line 348 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, Fill\-Data\-Type(), Fill\-Shm\-Data(), Ali\-HLTComponent\-Block\-Data::f\-Offset, Ali\-HLTComponent\-Block\-Data::f\-Ptr, Ali\-HLTComponent\-Block\-Data::f\-Shm\-Key, Ali\-HLTComponent\-Block\-Data::f\-Size, Ali\-HLTComponent\-Block\-Data::f\-Specification, and Ali\-HLTComponent\-Block\-Data::f\-Struct\-Size.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Insert\-Output\-Block().
+
+\footnotesize\begin{verbatim}349 {
+350   // see header file for function documentation
+351   blockData.fStructSize = sizeof(blockData);
+352   FillShmData( blockData.fShmKey );
+353   blockData.fOffset = ~(AliHLTUInt32_t)0;
+354   blockData.fPtr = NULL;
+355   blockData.fSize = 0;
+356   FillDataType( blockData.fDataType );
+357   blockData.fSpecification = kAliHLTVoidDataSpec;
+358 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!FillDataType@{FillDataType}}
+\index{FillDataType@{FillDataType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Fill\-Data\-Type ({\bf Ali\-HLTComponent\-Data\-Type} \& {\em data\-Type}) const\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b2}
+
+
+Fill {\bf Ali\-HLTComponent\-Data\-Type}{\rm (p.\,\pageref{structAliHLTComponentDataType})} structure with default values. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em data\-Type}]reference to data structure \end{description}
+\end{Desc}
+
+
+Definition at line 368 of file Ali\-HLTComponent.cxx.
+
+Referenced by Fill\-Block\-Data().
+
+\footnotesize\begin{verbatim}369 {
+370   // see header file for function documentation
+371   dataType=kAliHLTAnyDataType;
+372 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!FillEventData@{FillEventData}}
+\index{FillEventData@{FillEventData}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Fill\-Event\-Data ({\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTComponent_e3}
+
+
+helper function to initialize {\bf Ali\-HLTComponent\-Event\-Data}{\rm (p.\,\pageref{structAliHLTComponentEventData})} structure 
+
+Definition at line 399 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Event\-Data::f\-Struct\-Size.
+
+Referenced by Ali\-HLTTask::Process\-Task().
+
+\footnotesize\begin{verbatim}400 {
+401   // see header file for function documentation
+402   memset(&evtData, 0, sizeof(AliHLTComponentEventData));
+403   evtData.fStructSize=sizeof(AliHLTComponentEventData);
+404 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!FillShmData@{FillShmData}}
+\index{FillShmData@{FillShmData}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Fill\-Shm\-Data ({\bf Ali\-HLTComponent\-Shm\-Data} \& {\em shm\-Data}) const\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b1}
+
+
+Fill {\bf Ali\-HLTComponent\-Shm\-Data}{\rm (p.\,\pageref{structAliHLTComponentShmData})} structure with default values. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em shm\-Data}]reference to data structure \end{description}
+\end{Desc}
+
+
+Definition at line 360 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Shm\-Data::f\-Shm\-ID, Ali\-HLTComponent\-Shm\-Data::f\-Shm\-Type, and Ali\-HLTComponent\-Shm\-Data::f\-Struct\-Size.
+
+Referenced by Fill\-Block\-Data().
+
+\footnotesize\begin{verbatim}361 {
+362   // see header file for function documentation
+363   shmData.fStructSize = sizeof(shmData);
+364   shmData.fShmType = gkAliHLTComponentInvalidShmType;
+365   shmData.fShmID = gkAliHLTComponentInvalidShmID;
+366 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!FindInputBlock@{FindInputBlock}}
+\index{FindInputBlock@{FindInputBlock}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Find\-Input\-Block (const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em p\-Block}) const\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_d2}
+
+
+Get index in the array of input bocks. Calculate index and check integrety of a block data structure pointer. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Block}]pointer to block data \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]index of the block, -ENOENT if no block found \end{Desc}
+
+
+Definition at line 660 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, f\-Current\-Event\-Data, and fp\-Input\-Blocks.
+
+\footnotesize\begin{verbatim}661 {
+662   // see header file for function documentation
+663   int iResult=-ENOENT;
+664   if (fpInputBlocks!=NULL) {
+665     if (pBlock) {
+666       if (pBlock>=fpInputBlocks && pBlock<fpInputBlocks+fCurrentEventData.fBlockCnt) {
+667         iResult=(int)(pBlock-fpInputBlocks);
+668       }
+669     } else {
+670       iResult=-EINVAL;
+671     }
+672   }
+673   return iResult;
+674 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!FindInputBlock@{FindInputBlock}}
+\index{FindInputBlock@{FindInputBlock}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Find\-Input\-Block (const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt}, int {\em start\-Idx} = {\tt -1}) const\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_d1}
+
+
+Find the first input block of specified data type beginning at index. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt}]data type \item[{\em start\-Idx}]index to start the search \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]index of the block, -ENOENT if no block found \end{Desc}
+
+
+Definition at line 494 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, f\-Current\-Event\-Data, Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, fp\-Input\-Blocks, and k\-Ali\-HLTAny\-Data\-Type.
+
+Referenced by Get\-First\-Input\-Block(), Get\-First\-Input\-Object(), Get\-Next\-Input\-Block(), Get\-Next\-Input\-Object(), and Get\-Specification().
+
+\footnotesize\begin{verbatim}495 {
+496   // see header file for function documentation
+497   int iResult=-ENOENT;
+498   if (fpInputBlocks!=NULL) {
+499     int idx=startIdx<0?0:startIdx;
+500     for ( ; (UInt_t)idx<fCurrentEventData.fBlockCnt && iResult==-ENOENT; idx++) {
+501       if (dt == kAliHLTAnyDataType || fpInputBlocks[idx].fDataType == dt) {
+502         iResult=idx;
+503       }
+504     }
+505   }
+506   return iResult;
+507 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!FindMatchingDataTypes@{FindMatchingDataTypes}}
+\index{FindMatchingDataTypes@{FindMatchingDataTypes}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Find\-Matching\-Data\-Types ({\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer}, vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ $\ast$ {\em tgt\-List})}\label{classAliHLTComponent_a14}
+
+
+Find matching data types between this component and a consumer component. Currently, a component can produce only one type of data. This restriction is most likely to be abolished in the future. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer}]a component and consumer of the data produced by this component \item[{\em tgt\-List}]reference to a vector list to receive the matching data types. \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]$>$= 0 success, neg. error code if failed \end{Desc}
+
+
+Definition at line 300 of file Ali\-HLTComponent.cxx.
+
+References Get\-Output\-Data\-Type().
+
+Referenced by Ali\-HLTTask::Get\-Nof\-Matching\-Data\-Types().
+
+\footnotesize\begin{verbatim}301 {
+302   // see header file for function documentation
+303   int iResult=0;
+304   if (pConsumer) {
+305     vector<AliHLTComponentDataType> ctlist;
+306     ((AliHLTComponent*)pConsumer)->GetInputDataTypes(ctlist);
+307     vector<AliHLTComponentDataType>::iterator type=ctlist.begin();
+308     //AliHLTComponentDataType ouptdt=GetOutputDataType();
+309     //PrintDataTypeContent(ouptdt, "publisher \'%s\'");
+310     while (type!=ctlist.end() && iResult==0) {
+311       //PrintDataTypeContent((*type), "consumer \'%s\'");
+312       if ((*type)==GetOutputDataType() ||
+313           (*type)==kAliHLTAnyDataType) {
+314         if (tgtList) tgtList->push_back(*type);
+315         iResult++;
+316         // this loop has to be changed in case of multiple output types
+317         break;
+318       }
+319       type++;
+320     }
+321   } else {
+322     iResult=-EINVAL;
+323   }
+324   return iResult;
+325 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetComponentID@{GetComponentID}}
+\index{GetComponentID@{GetComponentID}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual const char$\ast$ Ali\-HLTComponent::Get\-Component\-ID ()\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAliHLTComponent_a9}
+
+
+Get the id of the component. Each component is identified by a unique id. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]component id (string) \end{Desc}
+
+
+Implemented in {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a10})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a10})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a10})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_a12})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Crude\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerCrudeComponent_a4})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Peak\-Finder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerPeakFinderComponent_a2})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a10})}.
+
+Referenced by Ali\-HLTData\-Source::Do\-Processing(), Ali\-HLTTask::Print\-Status(), Process\-Event(), Ali\-HLTTask::Process\-Task(), Ali\-HLTComponent\-Handler::Register\-Component(), and Ali\-HLTData\-Buffer::Set\-Consumer().\index{AliHLTComponent@{Ali\-HLTComponent}!GetComponentType@{GetComponentType}}
+\index{GetComponentType@{GetComponentType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf TComponent\-Type} Ali\-HLTComponent::Get\-Component\-Type ()\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAliHLTComponent_a8}
+
+
+Get the type of the component. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]component type id \end{Desc}
+
+
+Implemented in {\bf Ali\-HLTData\-Sink} {\rm (p.\,\pageref{classAliHLTDataSink_a3})}, {\bf Ali\-HLTData\-Source} {\rm (p.\,\pageref{classAliHLTDataSource_a3})}, and {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_a5})}.
+
+Referenced by Ali\-HLTSystem::Init\-Benchmarking(), and Ali\-HLTTask::Process\-Task().\index{AliHLTComponent@{Ali\-HLTComponent}!GetDataType@{GetDataType}}
+\index{GetDataType@{GetDataType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} Ali\-HLTComponent::Get\-Data\-Type (const TObject $\ast$ {\em p\-Object} = {\tt NULL})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b16}
+
+
+Get data type of an input block. Get data type of the object previously fetched via Get\-First\-Input\-Object/Next\-Input\-Object or the last one if no object specified. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Object}]pointer to TObject \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]data specification, k\-Ali\-HLTVoid\-Data\-Spec if failed \end{Desc}
+
+
+Definition at line 578 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, f\-Current\-Event\-Data, Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, fp\-Input\-Blocks, fp\-Input\-Objects, HLTError, and HLTFatal.
+
+\footnotesize\begin{verbatim}579 {
+580   // see header file for function documentation
+581   ALIHLTCOMPONENT_BASE_STOPWATCH();
+582   AliHLTComponentDataType dt=kAliHLTVoidDataType;
+583   int idx=fCurrentInputBlock;
+584   if (pObject) {
+585     if (fpInputObjects==NULL || (idx=fpInputObjects->IndexOf(pObject))>=0) {
+586     } else {
+587       HLTError("unknown object %p", pObject);
+588     }
+589   }
+590   if (idx>=0) {
+591     if ((UInt_t)idx<fCurrentEventData.fBlockCnt) {
+592       dt=fpInputBlocks[idx].fDataType;
+593     } else {
+594       HLTFatal("severe internal error, index out of range");
+595     }
+596   }
+597   return dt;
+598 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetEventCount@{GetEventCount}}
+\index{GetEventCount@{GetEventCount}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Get\-Event\-Count () const\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b11}
+
+
+Get event number. \begin{Desc}
+\item[Returns:]value of the internal event counter \end{Desc}
+
+
+Definition at line 424 of file Ali\-HLTComponent.cxx.
+
+\footnotesize\begin{verbatim}425 {
+426   // see header file for function documentation
+427   return fEventCount;
+428 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetEventDoneData@{GetEventDoneData}}
+\index{GetEventDoneData@{GetEventDoneData}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Get\-Event\-Done\-Data (unsigned long {\em size}, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$$\ast$ {\em edd})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b9}
+
+
+Fill the Event\-Done\-Data structure. The method is redirected to a function provided by the current framework. Function pointers are transferred via the {\bf Ali\-HLTComponent\-Environment}{\rm (p.\,\pageref{structAliHLTComponentEnvironment})} structure. 
+
+Definition at line 292 of file Ali\-HLTComponent.cxx.
+
+References f\-Environment, Ali\-HLTComponent\-Environment::f\-Get\-Event\-Done\-Data\-Func, and Ali\-HLTComponent\-Environment::f\-Param.
+
+\footnotesize\begin{verbatim}293 {
+294   // see header file for function documentation
+295   if (fEnvironment.fGetEventDoneDataFunc)
+296     return (*fEnvironment.fGetEventDoneDataFunc)(fEnvironment.fParam, fCurrentEvent, size, edd );
+297   return -ENOSYS;
+298 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetFirstInputBlock@{GetFirstInputBlock}}
+\index{GetFirstInputBlock@{GetFirstInputBlock}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ Ali\-HLTComponent::Get\-First\-Input\-Block (const char $\ast$ {\em dt\-ID}, const char $\ast$ {\em dt\-Origin})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b19}
+
+
+Get the first block of a specific data type from the input data. The method looks for the first block of type specified by the ID and Origin strings in the input stream. It is intended to be used within the high-level interface.\par
+ {\em Note:\/} THE BLOCK DESCRIPTOR MUST NOT BE DELETED by the caller. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt\-ID}]data type ID of the block \item[{\em dt\-Origin}]data type origin of the block \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to {\bf Ali\-HLTComponent\-Block\-Data}{\rm (p.\,\pageref{structAliHLTComponentBlockData})} \end{Desc}
+
+
+Definition at line 637 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, Get\-First\-Input\-Block(), and Set\-Data\-Type().
+
+\footnotesize\begin{verbatim}639 {
+640   // see header file for function documentation
+641   ALIHLTCOMPONENT_BASE_STOPWATCH();
+642   AliHLTComponentDataType dt;
+643   SetDataType(dt, dtID, dtOrigin);
+644   return GetFirstInputBlock(dt);
+645 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetFirstInputBlock@{GetFirstInputBlock}}
+\index{GetFirstInputBlock@{GetFirstInputBlock}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ Ali\-HLTComponent::Get\-First\-Input\-Block (const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt} = {\tt {\bf k\-Ali\-HLTAny\-Data\-Type}})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b18}
+
+
+Get the first block of a specific data type from the input data. The method looks for the first block of type dt in the input stream. It is intended to be used within the high-level interface.\par
+ {\em Note:\/} THE BLOCK DESCRIPTOR MUST NOT BE DELETED by the caller. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt}]data type of the block \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to {\bf Ali\-HLTComponent\-Block\-Data}{\rm (p.\,\pageref{structAliHLTComponentBlockData})} \end{Desc}
+
+
+Definition at line 622 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, f\-Class\-Name, Find\-Input\-Block(), fp\-Input\-Blocks, and f\-Search\-Data\-Type.
+
+Referenced by Get\-First\-Input\-Block().
+
+\footnotesize\begin{verbatim}623 {
+624   // see header file for function documentation
+625   ALIHLTCOMPONENT_BASE_STOPWATCH();
+626   fSearchDataType=dt;
+627   fClassName.clear();
+628   int idx=FindInputBlock(fSearchDataType, 0);
+629   const AliHLTComponentBlockData* pBlock=NULL;
+630   if (idx>=0) {
+631     // check for fpInputBlocks pointer done in FindInputBlock
+632     pBlock=&fpInputBlocks[idx];
+633   }
+634   return pBlock;
+635 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetFirstInputObject@{GetFirstInputObject}}
+\index{GetFirstInputObject@{GetFirstInputObject}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const TObject $\ast$ Ali\-HLTComponent::Get\-First\-Input\-Object (const char $\ast$ {\em dt\-ID}, const char $\ast$ {\em dt\-Origin}, const char $\ast$ {\em classname} = {\tt NULL}, int {\em b\-Force} = {\tt 0})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b14}
+
+
+Get the first object of a specific data type from the input data. The hight-level methods provide functionality to transfer ROOT data structures which inherit from TObject. The method looks for the first ROOT object of type specified by the ID and Origin strings in the input stream. If also the class name is provided, the object is checked for the right class type. The input data block needs a certain structure, namely the buffer size as first word. If the cross check fails, the retrieval is silently abondoned, unless the {\em b\-Force\/} parameter is set.\par
+ {\em Note:\/} THE OBJECT MUST NOT BE DELETED by the caller. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt\-ID}]data type ID of the object \item[{\em dt\-Origin}]data type origin of the object \item[{\em classname}]class name of the object \item[{\em b\-Force}]force the retrieval of an object, error messages are suppressed if {\em b\-Force\/} is not set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to TObject, NULL if no objects of specified type available \end{Desc}
+
+
+Definition at line 467 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, Get\-First\-Input\-Object(), and Set\-Data\-Type().
+
+\footnotesize\begin{verbatim}471 {
+472   // see header file for function documentation
+473   ALIHLTCOMPONENT_BASE_STOPWATCH();
+474   AliHLTComponentDataType dt;
+475   SetDataType(dt, dtID, dtOrigin);
+476   return GetFirstInputObject(dt, classname, bForce);
+477 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetFirstInputObject@{GetFirstInputObject}}
+\index{GetFirstInputObject@{GetFirstInputObject}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const TObject $\ast$ Ali\-HLTComponent::Get\-First\-Input\-Object (const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt} = {\tt {\bf k\-Ali\-HLTAny\-Data\-Type}}, const char $\ast$ {\em classname} = {\tt NULL}, int {\em b\-Force} = {\tt 0})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b13}
+
+
+Get the first object of a specific data type from the input data. The hight-level methods provide functionality to transfer ROOT data structures which inherit from TObject. The method looks for the first ROOT object of type dt in the input stream. If also the class name is provided, the object is checked for the right class type. The input data block needs a certain structure, namely the buffer size as first word. If the cross check fails, the retrieval is silently abondoned, unless the {\em b\-Force\/} parameter is set.\par
+ {\em Note:\/} THE OBJECT MUST NOT BE DELETED by the caller. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em dt}]data type of the object \item[{\em classname}]class name of the object \item[{\em b\-Force}]force the retrieval of an object, error messages are suppressed if {\em b\-Force\/} is not set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to TObject, NULL if no objects of specified type available \end{Desc}
+
+
+Definition at line 446 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, Data\-Type2Text(), f\-Class\-Name, f\-Current\-Input\-Block, Find\-Input\-Block(), f\-Search\-Data\-Type, Get\-Input\-Object(), and HLTDebug.
+
+Referenced by Get\-First\-Input\-Object().
+
+\footnotesize\begin{verbatim}449 {
+450   // see header file for function documentation
+451   ALIHLTCOMPONENT_BASE_STOPWATCH();
+452   fSearchDataType=dt;
+453   if (classname) fClassName=classname;
+454   else fClassName.clear();
+455   int idx=FindInputBlock(fSearchDataType, 0);
+456   HLTDebug("found block %d when searching for data type %s", idx, DataType2Text(dt).c_str());
+457   TObject* pObj=NULL;
+458   if (idx>=0) {
+459     if ((pObj=GetInputObject(idx, fClassName.c_str(), bForce))!=NULL) {
+460       fCurrentInputBlock=idx;
+461     } else {
+462     }
+463   }
+464   return pObj;
+465 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetInputBlock@{GetInputBlock}}
+\index{GetInputBlock@{GetInputBlock}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Block\-Data}$\ast$ Ali\-HLTComponent::Get\-Input\-Block (int {\em index})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b20}
+
+
+Get input block by index.\par
+ {\em Note:\/} THE BLOCK DESCRIPTOR MUST NOT BE DELETED by the caller. \begin{Desc}
+\item[Returns:]pointer to {\bf Ali\-HLTComponent\-Block\-Data}{\rm (p.\,\pageref{structAliHLTComponentBlockData})}, NULL if index out of range \end{Desc}
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetInputDataTypes@{GetInputDataTypes}}
+\index{GetInputDataTypes@{GetInputDataTypes}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void Ali\-HLTComponent::Get\-Input\-Data\-Types (vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAliHLTComponent_a10}
+
+
+Get the input data types of the component. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]list of data types in the vector reference \end{Desc}
+
+
+Implemented in {\bf Ali\-HLTData\-Source} {\rm (p.\,\pageref{classAliHLTDataSource_a4})}.\index{AliHLTComponent@{Ali\-HLTComponent}!GetInputObject@{GetInputObject}}
+\index{GetInputObject@{GetInputObject}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TObject $\ast$ Ali\-HLTComponent::Get\-Input\-Object (int {\em idx}, const char $\ast$ {\em classname} = {\tt NULL}, int {\em b\-Force} = {\tt 0})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_d4}
+
+
+Get input object Get object from the input block list. The methods first checks whether the object was already created. If not, it is created by {\bf Create\-Input\-Object}{\rm (p.\,\pageref{classAliHLTComponent_d3})} and inserted into the list of objects. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em idx}]index in the input block list \item[{\em classname}]name of the class, object is checked for correct class name if set \item[{\em b\-Force}]force the retrieval of an object, error messages are suppressed if {\em b\-Force\/} is not set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to TObject \end{Desc}
+
+
+Definition at line 543 of file Ali\-HLTComponent.cxx.
+
+References Create\-Input\-Object(), Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, f\-Current\-Event\-Data, fp\-Input\-Objects, and HLTFatal.
+
+Referenced by Get\-First\-Input\-Object(), and Get\-Next\-Input\-Object().
+
+\footnotesize\begin{verbatim}544 {
+545   // see header file for function documentation
+546   if (fpInputObjects==NULL) {
+547     fpInputObjects=new TObjArray(fCurrentEventData.fBlockCnt);
+548   }
+549   TObject* pObj=NULL;
+550   if (fpInputObjects) {
+551     pObj=fpInputObjects->At(idx);
+552     if (pObj==NULL) {
+553       pObj=CreateInputObject(idx, bForce);
+554       if (pObj) {
+555         fpInputObjects->AddAt(pObj, idx);
+556       }
+557     }
+558   } else {
+559     HLTFatal("memory allocation failed: TObjArray of size %d", fCurrentEventData.fBlockCnt);
+560   }
+561   return pObj;
+562 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetNextInputBlock@{GetNextInputBlock}}
+\index{GetNextInputBlock@{GetNextInputBlock}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ Ali\-HLTComponent::Get\-Next\-Input\-Block ()\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b21}
+
+
+Get the next block of a specific data type from the input data. The method looks for the next block of type and class specified to the previous {\bf Get\-First\-Input\-Block}{\rm (p.\,\pageref{classAliHLTComponent_b18})} call. To be used within the high-level interface.\par
+ {\em Note:\/} THE BLOCK DESCRIPTOR MUST NOT BE DELETED by the caller. 
+
+Definition at line 647 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, f\-Current\-Input\-Block, Find\-Input\-Block(), fp\-Input\-Blocks, and f\-Search\-Data\-Type.
+
+\footnotesize\begin{verbatim}648 {
+649   // see header file for function documentation
+650   ALIHLTCOMPONENT_BASE_STOPWATCH();
+651   int idx=FindInputBlock(fSearchDataType, fCurrentInputBlock+1);
+652   const AliHLTComponentBlockData* pBlock=NULL;
+653   if (idx>=0) {
+654     // check for fpInputBlocks pointer done in FindInputBlock
+655     pBlock=&fpInputBlocks[idx];
+656   }
+657   return pBlock;
+658 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetNextInputObject@{GetNextInputObject}}
+\index{GetNextInputObject@{GetNextInputObject}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const TObject $\ast$ Ali\-HLTComponent::Get\-Next\-Input\-Object (int {\em b\-Force} = {\tt 0})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b15}
+
+
+Get the next object of a specific data type from the input data. The hight-level methods provide functionality to transfer ROOT data structures which inherit from TObject. The method looks for the next ROOT object of type and class specified to the previous {\bf Get\-First\-Input\-Object}{\rm (p.\,\pageref{classAliHLTComponent_b13})} call.\par
+ {\em Note:\/} THE OBJECT MUST NOT BE DELETED by the caller. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em b\-Force}]force the retrieval of an object, error messages are suppressed if {\em b\-Force\/} is not set \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to TObject, NULL if no more objects available \end{Desc}
+
+
+Definition at line 479 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, f\-Class\-Name, f\-Current\-Input\-Block, Find\-Input\-Block(), f\-Search\-Data\-Type, and Get\-Input\-Object().
+
+\footnotesize\begin{verbatim}480 {
+481   // see header file for function documentation
+482   ALIHLTCOMPONENT_BASE_STOPWATCH();
+483   int idx=FindInputBlock(fSearchDataType, fCurrentInputBlock+1);
+484   //HLTDebug("found block %d when searching for data type %s", idx, DataType2Text(fSearchDataType).c_str());
+485   TObject* pObj=NULL;
+486   if (idx>=0) {
+487     if ((pObj=GetInputObject(idx, fClassName.c_str(), bForce))!=NULL) {
+488       fCurrentInputBlock=idx;
+489     }
+490   }
+491   return pObj;
+492 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetNumberOfInputBlocks@{GetNumberOfInputBlocks}}
+\index{GetNumberOfInputBlocks@{GetNumberOfInputBlocks}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Get\-Number\-Of\-Input\-Blocks () const\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b12}
+
+
+Get the number of input blocks. \begin{Desc}
+\item[Returns:]number of input blocks \end{Desc}
+
+
+Definition at line 437 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, f\-Current\-Event\-Data, and fp\-Input\-Blocks.
+
+\footnotesize\begin{verbatim}438 {
+439   // see header file for function documentation
+440   if (fpInputBlocks!=NULL) {
+441     return fCurrentEventData.fBlockCnt;
+442   }
+443   return 0;
+444 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetOutputDataSize@{GetOutputDataSize}}
+\index{GetOutputDataSize@{GetOutputDataSize}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void Ali\-HLTComponent::Get\-Output\-Data\-Size (unsigned long \& {\em const\-Base}, double \& {\em input\-Multiplier})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAliHLTComponent_a12}
+
+
+Get a ratio by how much the data volume is shrinked or enhanced. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em const\-Base}]{\em return\/}: additive part, independent of the input data volume \item[{\em input\-Multiplier}]{\em return\/}: multiplication ratio \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]values in the reference variables \end{Desc}
+
+
+Implemented in {\bf Ali\-HLTData\-Sink} {\rm (p.\,\pageref{classAliHLTDataSink_a5})}, {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a13})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a13})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a13})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_a15})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a8})}.
+
+Referenced by Ali\-HLT\_\-C\_\-Get\-Output\-Size(), and Ali\-HLTTask::Process\-Task().\index{AliHLTComponent@{Ali\-HLTComponent}!GetOutputDataType@{GetOutputDataType}}
+\index{GetOutputDataType@{GetOutputDataType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Ali\-HLTComponent\-Data\-Type} Ali\-HLTComponent::Get\-Output\-Data\-Type ()\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAliHLTComponent_a11}
+
+
+Get the output data type of the component. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]output data type \end{Desc}
+
+
+Implemented in {\bf Ali\-HLTData\-Sink} {\rm (p.\,\pageref{classAliHLTDataSink_a4})}, {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a12})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a12})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a12})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_a14})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a7})}.
+
+Referenced by Ali\-HLT\_\-C\_\-Get\-Output\-Data\-Type(), Find\-Matching\-Data\-Types(), and Make\-Output\-Data\-Block\-List().\index{AliHLTComponent@{Ali\-HLTComponent}!GetSpecification@{GetSpecification}}
+\index{GetSpecification@{GetSpecification}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} Ali\-HLTComponent::Get\-Specification (const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em p\-Block} = {\tt NULL})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b22}
+
+
+Get data specification of an input block. Get data specification of the input bblock previously fetched via Get\-First\-Input\-Object/Next\-Input\-Object or the last one if no block specified. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Block}]pointer to input block \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]data specification, k\-Ali\-HLTVoid\-Data\-Spec if failed \end{Desc}
+
+
+Definition at line 676 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, Ali\-HLTUInt32\_\-t, Find\-Input\-Block(), fp\-Input\-Blocks, fp\-Input\-Objects, Ali\-HLTComponent\-Block\-Data::f\-Specification, and HLTError.
+
+\footnotesize\begin{verbatim}677 {
+678   // see header file for function documentation
+679   ALIHLTCOMPONENT_BASE_STOPWATCH();
+680   AliHLTUInt32_t iSpec=kAliHLTVoidDataSpec;
+681   int idx=fCurrentInputBlock;
+682   if (pBlock) {
+683     if (fpInputObjects==NULL || (idx=FindInputBlock(pBlock))>=0) {
+684     } else {
+685       HLTError("unknown Block %p", pBlock);
+686     }
+687   }
+688   if (idx>=0) {
+689     // check for fpInputBlocks pointer done in FindInputBlock
+690     iSpec=fpInputBlocks[idx].fSpecification;
+691   }
+692   return iSpec;
+693 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!GetSpecification@{GetSpecification}}
+\index{GetSpecification@{GetSpecification}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} Ali\-HLTComponent::Get\-Specification (const TObject $\ast$ {\em p\-Object} = {\tt NULL})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b17}
+
+
+Get data specification of an input block. Get data specification of the object previously fetched via Get\-First\-Input\-Object/Next\-Input\-Object or the last one if no object specified. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Object}]pointer to TObject \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]data specification, k\-Ali\-HLTVoid\-Data\-Spec if failed \end{Desc}
+
+
+Definition at line 600 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, Ali\-HLTUInt32\_\-t, Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, f\-Current\-Event\-Data, fp\-Input\-Blocks, fp\-Input\-Objects, Ali\-HLTComponent\-Block\-Data::f\-Specification, HLTError, and HLTFatal.
+
+\footnotesize\begin{verbatim}601 {
+602   // see header file for function documentation
+603   ALIHLTCOMPONENT_BASE_STOPWATCH();
+604   AliHLTUInt32_t iSpec=kAliHLTVoidDataSpec;
+605   int idx=fCurrentInputBlock;
+606   if (pObject) {
+607     if (fpInputObjects==NULL || (idx=fpInputObjects->IndexOf(pObject))>=0) {
+608     } else {
+609       HLTError("unknown object %p", pObject);
+610     }
+611   }
+612   if (idx>=0) {
+613     if ((UInt_t)idx<fCurrentEventData.fBlockCnt) {
+614       iSpec=fpInputBlocks[idx].fSpecification;
+615     } else {
+616       HLTFatal("severe internal error, index out of range");
+617     }
+618   }
+619   return iSpec;
+620 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!IncrementEventCounter@{IncrementEventCounter}}
+\index{IncrementEventCounter@{IncrementEventCounter}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Increment\-Event\-Counter ()\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_d0}
+
+
+Increment the internal event counter. To be used by the friend classes {\bf Ali\-HLTProcessor}{\rm (p.\,\pageref{classAliHLTProcessor})}, {\bf Ali\-HLTData\-Source}{\rm (p.\,\pageref{classAliHLTDataSource})} and {\bf Ali\-HLTData\-Sink}{\rm (p.\,\pageref{classAliHLTDataSink})}. \begin{Desc}
+\item[Returns:]new value of the internal event counter \end{Desc}
+
+
+Definition at line 430 of file Ali\-HLTComponent.cxx.
+
+References f\-Event\-Count.
+
+Referenced by Process\-Event().
+
+\footnotesize\begin{verbatim}431 {
+432   // see header file for function documentation
+433   if (fEventCount>=0) fEventCount++;
+434   return fEventCount;
+435 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!Init@{Init}}
+\index{Init@{Init}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Init ({\bf Ali\-HLTComponent\-Environment} $\ast$ {\em environ}, void $\ast$ {\em environ\-Param}, int {\em argc}, const char $\ast$$\ast$ {\em argv})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTComponent_a4}
+
+
+Init function to prepare data processing. Initialization of common data structures for a sequence of events. The call is redirected to the internal method {\bf Do\-Init}{\rm (p.\,\pageref{classAliHLTComponent_b5})} which can be overridden by the child class.\par
+ During Init also the environment structure is passed to the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em environ}]environment pointer with environment dependend function calls \item[{\em environ\-Param}]additionel parameter for function calls, the pointer is passed as it is \item[{\em argc}]size of the argument array \item[{\em argv}]agument array for component initialization \end{description}
+\end{Desc}
+
+
+Reimplemented in {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_a2})}.
+
+Definition at line 135 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Log\-Severity, Do\-Init(), f\-Environment, f\-Event\-Count, Ali\-HLTComponent\-Environment::f\-Param, HLTError, and Ali\-HLTLogging::Set\-Local\-Logging\-Level().
+
+Referenced by Ali\-HLTComponent\-Handler::Create\-Component(), and Ali\-HLTProcessor::Init().
+
+\footnotesize\begin{verbatim}136 {
+137   // see header file for function documentation
+138   int iResult=0;
+139   if (environ) {
+140     memcpy(&fEnvironment, environ, sizeof(AliHLTComponentEnvironment));
+141     fEnvironment.fParam=environParam;
+142   }
+143   const char** pArguments=NULL;
+144   int iNofChildArgs=0;
+145   TString argument="";
+146   int bMissingParam=0;
+147   if (argc>0) {
+148     pArguments=new const char*[argc];
+149     if (pArguments) {
+150       for (int i=0; i<argc && iResult>=0; i++) {
+151         argument=argv[i];
+152         if (argument.IsNull()) continue;
+153 
+154         // benchmark
+155         if (argument.CompareTo("benchmark")==0) {
+156 
+157           // loglevel
+158         } else if (argument.CompareTo("loglevel")==0) {
+159           if ((bMissingParam=(++i>=argc))) break;
+160           TString parameter(argv[i]);
+161           parameter.Remove(TString::kLeading, ' '); // remove all blanks
+162           if (parameter.BeginsWith("0x") &&
+163               parameter.Replace(0,2,"",0).IsHex()) {
+164             AliHLTComponentLogSeverity loglevel=kHLTLogNone;
+165             sscanf(parameter.Data(),"%x", (unsigned int*)&loglevel);
+166             SetLocalLoggingLevel(loglevel);
+167           } else {
+168             HLTError("wrong parameter for argument %s, hex number expected", argument.Data());
+169             iResult=-EINVAL;
+170           }
+171         } else {
+172           pArguments[iNofChildArgs++]=argv[i];
+173         }
+174       }
+175     } else {
+176       iResult=-ENOMEM;
+177     }
+178   }
+179   if (bMissingParam) {
+180     HLTError("missing parameter for argument %s", argument.Data());
+181     iResult=-EINVAL;
+182   }
+183   if (iResult>=0) {
+184     iResult=DoInit(iNofChildArgs, pArguments);
+185   }
+186   if (iResult>=0) fEventCount=0;
+187   if (pArguments) delete [] pArguments;
+188   return iResult;
+189 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!InsertOutputBlock@{InsertOutputBlock}}
+\index{InsertOutputBlock@{InsertOutputBlock}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Insert\-Output\-Block (void $\ast$ {\em p\-Buffer}, int {\em i\-Size}, const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt}, {\bf Ali\-HLTUInt32\_\-t} {\em spec})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_d6}
+
+
+Insert a buffer into the output block stream. This is the only method to insert blocks into the output stream, called from all types of the Pushback method. The actual data might have been written to the output buffer already. In that case NULL can be provided as buffer, only the block descriptor will be build. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Buffer}]pointer to buffer \item[{\em i\-Size}]size of the buffer in byte \item[{\em dt}]data type \item[{\em spec}]data specification \end{description}
+\end{Desc}
+
+
+Definition at line 745 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTUInt8\_\-t, Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, Fill\-Block\-Data(), Ali\-HLTComponent\-Block\-Data::f\-Offset, f\-Output\-Blocks, f\-Output\-Buffer\-Filled, f\-Output\-Buffer\-Size, fp\-Output\-Buffer, Ali\-HLTComponent\-Block\-Data::f\-Ptr, Ali\-HLTComponent\-Block\-Data::f\-Size, Ali\-HLTComponent\-Block\-Data::f\-Specification, and HLTError.
+
+Referenced by Push\-Back().
+
+\footnotesize\begin{verbatim}746 {
+747   // see header file for function documentation
+748   int iResult=0;
+749   if (pBuffer) {
+750     if (fpOutputBuffer && iSize<=(int)(fOutputBufferSize-fOutputBufferFilled)) {
+751       AliHLTUInt8_t* pTgt=fpOutputBuffer+fOutputBufferFilled;
+752       AliHLTComponentBlockData bd;
+753       FillBlockData( bd );
+754       bd.fOffset        = fOutputBufferFilled;
+755       bd.fPtr           = pTgt;
+756       bd.fSize          = iSize;
+757       bd.fDataType      = dt;
+758       bd.fSpecification = spec;
+759       if (pBuffer!=NULL && pBuffer!=pTgt) {
+760         memcpy(pTgt, pBuffer, iSize);
+761         //AliHLTUInt32_t firstWord=*((AliHLTUInt32_t*)pBuffer); 
+762         //HLTDebug("copy %d bytes from %p to output buffer %p, first word %#x", iSize, pBuffer, pTgt, firstWord);
+763       }
+764       fOutputBufferFilled+=bd.fSize;
+765       fOutputBlocks.push_back( bd );
+766       //HLTDebug("buffer inserted to output: size %d data type %s spec %#x", iSize, DataType2Text(dt).c_str(), spec);
+767     } else {
+768       if (fpOutputBuffer) {
+769         HLTError("too little space in output buffer: %d, required %d", fOutputBufferSize-fOutputBufferFilled, iSize);
+770       } else {
+771         HLTError("output buffer not available");
+772       }
+773       iResult=-ENOSPC;
+774     }
+775   } else {
+776     iResult=-EINVAL;
+777   }
+778   return iResult;
+779 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!MakeOutputDataBlockList@{MakeOutputDataBlockList}}
+\index{MakeOutputDataBlockList@{MakeOutputDataBlockList}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Make\-Output\-Data\-Block\-List (const vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em blocks}, {\bf Ali\-HLTUInt32\_\-t} $\ast$ {\em block\-Count}, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$$\ast$ {\em output\-Blocks})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b8}
+
+
+Helper function to create a monolithic Block\-Data description block out of a list Block\-Data descriptors. For convenience, inside the interface vector lists are used, to make the interface pure C style, monilithic blocks must be exchanged. The method is redirected to a function provided by the current framework. Function pointers are transferred via the {\bf Ali\-HLTComponent\-Environment}{\rm (p.\,\pageref{structAliHLTComponentEnvironment})} structure. 
+
+Definition at line 258 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTUInt32\_\-t, Alloc\-Memory(), Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, and Get\-Output\-Data\-Type().
+
+Referenced by Process\-Event().
+
+\footnotesize\begin{verbatim}260 {
+261   // see header file for function documentation
+262     if ( blockCount==NULL || outputBlocks==NULL )
+263         return -EFAULT;
+264     AliHLTUInt32_t count = blocks.size();
+265     if ( !count )
+266         {
+267         *blockCount = 0;
+268         *outputBlocks = NULL;
+269         return 0;
+270         }
+271     *outputBlocks = reinterpret_cast<AliHLTComponentBlockData*>( AllocMemory( sizeof(AliHLTComponentBlockData)*count ) );
+272     if ( !*outputBlocks )
+273         return -ENOMEM;
+274     for ( unsigned long i = 0; i < count; i++ ) {
+275         (*outputBlocks)[i] = blocks[i];
+276         if (blocks[i].fDataType==kAliHLTAnyDataType) {
+277           (*outputBlocks)[i].fDataType=GetOutputDataType();
+278           /* data type was set to the output data type by the PubSub AliRoot
+279              Wrapper component, if data type of the block was ********:****.
+280              Now handled by the component base class in order to have same
+281              behavior when running embedded in AliRoot
+282           memset((*outputBlocks)[i].fDataType.fID, '*', kAliHLTComponentDataTypefIDsize);
+283           memset((*outputBlocks)[i].fDataType.fOrigin, '*', kAliHLTComponentDataTypefOriginSize);
+284           */
+285         }
+286     }
+287     *blockCount = count;
+288     return 0;
+289 
+290 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent} \& Ali\-HLTComponent::operator= (const {\bf Ali\-HLTComponent} \&)}\label{classAliHLTComponent_a2}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 101 of file Ali\-HLTComponent.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}102 { 
+103   // see header file for class documentation
+104   HLTFatal("assignment operator untested");
+105   return *this;
+106 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!PrintComponentDataTypeInfo@{PrintComponentDataTypeInfo}}
+\index{PrintComponentDataTypeInfo@{PrintComponentDataTypeInfo}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Print\-Component\-Data\-Type\-Info (const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt})}\label{classAliHLTComponent_a16}
+
+
+Print info on an {\bf Ali\-HLTComponent\-Data\-Type}{\rm (p.\,\pageref{structAliHLTComponentDataType})} structure This is just a helper function to examine an {\bf Ali\-HLTComponent\-Data\-Type}{\rm (p.\,\pageref{structAliHLTComponentDataType})} structur. 
+
+Definition at line 406 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID, Ali\-HLTComponent\-Data\-Type::f\-Origin, Ali\-HLTComponent\-Data\-Type::f\-Struct\-Size, k\-HLTLog\-None, and Ali\-HLTLogging::Message().
+
+\footnotesize\begin{verbatim}407 {
+408   // see header file for function documentation
+409   TString msg;
+410   msg.Form("AliHLTComponentDataType(%d): ID=\"", dt.fStructSize);
+411   for ( int i = 0; i < kAliHLTComponentDataTypefIDsize; i++ ) {
+412    if (dt.fID[i]!=0) msg+=dt.fID[i];
+413    else msg+="\\0";
+414   }
+415   msg+="\" Origin=\"";
+416   for ( int i = 0; i < kAliHLTComponentDataTypefOriginSize; i++ ) {
+417    if (dt.fOrigin[i]!=0) msg+=dt.fOrigin[i];
+418    else msg+="\\0";
+419   }
+420   msg+="\"";
+421   AliHLTLogging::Message(NULL, kHLTLogNone, NULL , NULL, msg.Data());
+422 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!PrintDataTypeContent@{PrintDataTypeContent}}
+\index{PrintDataTypeContent@{PrintDataTypeContent}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Print\-Data\-Type\-Content ({\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt}, const char $\ast$ {\em format} = {\tt NULL}) const}\label{classAliHLTComponent_a15}
+
+
+Helper function to print content of data type. 
+
+Definition at line 327 of file Ali\-HLTComponent.cxx.
+
+References Data\-Type2Text(), Ali\-HLTComponent\-Data\-Type::f\-ID, Ali\-HLTComponent\-Data\-Type::f\-Origin, and HLTMessage.
+
+\footnotesize\begin{verbatim}328 {
+329   // see header file for function documentation
+330   const char* fmt="publisher \'%s\'";
+331   if (format) fmt=format;
+332   HLTMessage(fmt, (DataType2Text(dt)).c_str());
+333   HLTMessage("%x %x %x %x %x %x %x %x : %x %x %x %x", 
+334              dt.fID[0],
+335              dt.fID[1],
+336              dt.fID[2],
+337              dt.fID[3],
+338              dt.fID[4],
+339              dt.fID[5],
+340              dt.fID[6],
+341              dt.fID[7],
+342              dt.fOrigin[0],
+343              dt.fOrigin[1],
+344              dt.fOrigin[2],
+345              dt.fOrigin[3]);
+346 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!ProcessEvent@{ProcessEvent}}
+\index{ProcessEvent@{ProcessEvent}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Process\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, {\bf Ali\-HLTUInt32\_\-t} \& {\em output\-Block\-Cnt}, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$\& {\em output\-Blocks}, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\& {\em edd})}\label{classAliHLTComponent_a6}
+
+
+Processing of one event. The method is the entrance of the event processing. The parameters are cached for uses with the high-level interface and the Do\-Processing implementation is called.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]\item[{\em blocks}]\item[{\em trig\-Data}]\item[{\em output\-Ptr}]\item[{\em size}]\item[{\em output\-Block\-Cnt}]out: size of the output block array, set by the component \item[{\em output\-Blocks}]out: the output block array is allocated internally \item[{\em edd}]\end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 799 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, ALIHLTCOMPONENT\_\-DA\_\-STOPWATCH, Cleanup\-Input\-Objects(), Do\-Processing(), f\-Current\-Event, f\-Current\-Event\-Data, f\-Current\-Input\-Block, Ali\-HLTComponent\-Event\-Data::f\-Event\-ID, f\-Output\-Blocks, f\-Output\-Buffer\-Filled, f\-Output\-Buffer\-Size, fp\-Input\-Blocks, fp\-Output\-Buffer, f\-Search\-Data\-Type, Get\-Component\-ID(), HLTError, HLTFatal, Increment\-Event\-Counter(), and Make\-Output\-Data\-Block\-List().
+
+Referenced by Ali\-HLT\_\-C\_\-Process\-Event(), and Ali\-HLTTask::Process\-Task().
+
+\footnotesize\begin{verbatim}807 {
+808   // see header file for function documentation
+809   ALIHLTCOMPONENT_BASE_STOPWATCH();
+810   int iResult=0;
+811   fCurrentEvent=evtData.fEventID;
+812   fCurrentEventData=evtData;
+813   fpInputBlocks=blocks;
+814   fCurrentInputBlock=-1;
+815   fSearchDataType=kAliHLTAnyDataType;
+816   fpOutputBuffer=outputPtr;
+817   fOutputBufferSize=size;
+818   fOutputBufferFilled=0;
+819   fOutputBlocks.clear();
+820   
+821   vector<AliHLTComponentBlockData> blockData;
+822   { // dont delete, sets the scope for the stopwatch guard
+823     ALIHLTCOMPONENT_DA_STOPWATCH();
+824     iResult=DoProcessing(evtData, blocks, trigData, outputPtr, size, blockData, edd);
+825   } // end of the scope of the stopwatch guard
+826   if (iResult>=0) {
+827     if (fOutputBlocks.size()>0) {
+828       //HLTDebug("got %d block(s) via high level interface", fOutputBlocks.size());
+829       if (blockData.size()>0) {
+830         HLTError("low level and high interface must not be mixed; use PushBack methods to insert data blocks");
+831         iResult=-EFAULT;
+832       } else {
+833         iResult=MakeOutputDataBlockList(fOutputBlocks, &outputBlockCnt, &outputBlocks);
+834         size=fOutputBufferFilled;
+835       }
+836     } else {
+837       iResult=MakeOutputDataBlockList(blockData, &outputBlockCnt, &outputBlocks);
+838     }
+839     if (iResult<0) {
+840       HLTFatal("component %s (%p): can not convert output block descriptor list", GetComponentID(), this);
+841     }
+842   }
+843   if (iResult<0) {
+844     outputBlockCnt=0;
+845     outputBlocks=NULL;
+846   }
+847   CleanupInputObjects();
+848   IncrementEventCounter();
+849   return iResult;
+850 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!PushBack@{PushBack}}
+\index{PushBack@{PushBack}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Push\-Back (void $\ast$ {\em p\-Buffer}, int {\em i\-Size}, const char $\ast$ {\em dt\-ID}, const char $\ast$ {\em dt\-Origin}, {\bf Ali\-HLTUInt32\_\-t} {\em spec} = {\tt {\bf k\-Ali\-HLTVoid\-Data\-Spec}})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b26}
+
+
+Insert an object into the output. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Buffer}]pointer to buffer \item[{\em i\-Size}]size of the buffer \item[{\em dt\-ID}]data type ID of the object \item[{\em dt\-Origin}]data type origin of the object \item[{\em spec}]data specification \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 736 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, Push\-Back(), and Set\-Data\-Type().
+
+\footnotesize\begin{verbatim}737 {
+738   // see header file for function documentation
+739   ALIHLTCOMPONENT_BASE_STOPWATCH();
+740   AliHLTComponentDataType dt;
+741   SetDataType(dt, dtID, dtOrigin);
+742   return PushBack(pBuffer, iSize, dt, spec);
+743 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!PushBack@{PushBack}}
+\index{PushBack@{PushBack}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Push\-Back (void $\ast$ {\em p\-Buffer}, int {\em i\-Size}, const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt}, {\bf Ali\-HLTUInt32\_\-t} {\em spec} = {\tt {\bf k\-Ali\-HLTVoid\-Data\-Spec}})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b25}
+
+
+Insert an object into the output. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Buffer}]pointer to buffer \item[{\em i\-Size}]size of the buffer \item[{\em dt}]data type of the object \item[{\em spec}]data specification \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 729 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, and Insert\-Output\-Block().
+
+\footnotesize\begin{verbatim}730 {
+731   // see header file for function documentation
+732   ALIHLTCOMPONENT_BASE_STOPWATCH();
+733   return InsertOutputBlock(pBuffer, iSize, dt, spec);
+734 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!PushBack@{PushBack}}
+\index{PushBack@{PushBack}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Push\-Back (TObject $\ast$ {\em p\-Object}, const char $\ast$ {\em dt\-ID}, const char $\ast$ {\em dt\-Origin}, {\bf Ali\-HLTUInt32\_\-t} {\em spec} = {\tt {\bf k\-Ali\-HLTVoid\-Data\-Spec}})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b24}
+
+
+Insert an object into the output. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Object}]pointer to root object \item[{\em dt\-ID}]data type ID of the object \item[{\em dt\-Origin}]data type origin of the object \item[{\em spec}]data specification \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 720 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, Push\-Back(), and Set\-Data\-Type().
+
+\footnotesize\begin{verbatim}721 {
+722   // see header file for function documentation
+723   ALIHLTCOMPONENT_BASE_STOPWATCH();
+724   AliHLTComponentDataType dt;
+725   SetDataType(dt, dtID, dtOrigin);
+726   return PushBack(pObject, dt, spec);
+727 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!PushBack@{PushBack}}
+\index{PushBack@{PushBack}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Push\-Back (TObject $\ast$ {\em p\-Object}, const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em dt}, {\bf Ali\-HLTUInt32\_\-t} {\em spec} = {\tt {\bf k\-Ali\-HLTVoid\-Data\-Spec}})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b23}
+
+
+Insert an object into the output. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Object}]pointer to root object \item[{\em dt}]data type of the object \item[{\em spec}]data specification \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 695 of file Ali\-HLTComponent.cxx.
+
+References ALIHLTCOMPONENT\_\-BASE\_\-STOPWATCH, HLTDebug, HLTError, Insert\-Output\-Block(), and Ali\-HLTMessage::Set\-Length().
+
+Referenced by Push\-Back().
+
+\footnotesize\begin{verbatim}696 {
+697   // see header file for function documentation
+698   ALIHLTCOMPONENT_BASE_STOPWATCH();
+699   int iResult=0;
+700   if (pObject) {
+701     AliHLTMessage msg(kMESS_OBJECT);
+702     msg.WriteObject(pObject);
+703     Int_t iMsgLength=msg.Length();
+704     if (iMsgLength>0) {
+705       msg.SetLength(); // sets the length to the first (reserved) word
+706       iResult=InsertOutputBlock(msg.Buffer(), iMsgLength, dt, spec);
+707       if (iResult>=0) {
+708         HLTDebug("object %s (%p) size %d inserted to output", pObject->ClassName(), pObject, iMsgLength);
+709       }
+710     } else {
+711       HLTError("object serialization failed for object %p", pObject);
+712       iResult=-ENOMSG;
+713     }
+714   } else {
+715     iResult=-EINVAL;
+716   }
+717   return iResult;
+718 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!SetDataType@{SetDataType}}
+\index{SetDataType@{SetDataType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent::Set\-Data\-Type ({\bf Ali\-HLTComponent\-Data\-Type} \& {\em tgtdt}, const char $\ast$ {\em id}, const char $\ast$ {\em origin})\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTComponent_b4}
+
+
+Set the ID and Origin of an {\bf Ali\-HLTComponent\-Data\-Type}{\rm (p.\,\pageref{structAliHLTComponentDataType})} structure. The function sets the f\-Structure\-Size member and copies the strings to the ID and Origin. Only characters from the valid part of the string are copied, the rest is fille with 0's. Please note that the f\-ID and f\-Origin members are not strings, just arrays of chars of size {\bf k\-Ali\-HLTComponent\-Data\-Typef\-IDsize}{\rm (p.\,\pageref{AliHLTDataTypes_8h_a12})} and {\bf k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size}{\rm (p.\,\pageref{AliHLTDataTypes_8h_a13})} respectively and not necessarily with a terminating zero. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em tgtdt}]target data type structure \item[{\em id}]ID string \item[{\em origin}]Origin string \end{description}
+\end{Desc}
+
+
+Definition at line 381 of file Ali\-HLTComponent.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID, Ali\-HLTComponent\-Data\-Type::f\-Origin, Ali\-HLTComponent\-Data\-Type::f\-Struct\-Size, HLTWarning, k\-Ali\-HLTComponent\-Data\-Typef\-IDsize, and k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size.
+
+Referenced by Get\-First\-Input\-Block(), Get\-First\-Input\-Object(), and Push\-Back().
+
+\footnotesize\begin{verbatim}382 {
+383   // see header file for function documentation
+384   tgtdt.fStructSize = sizeof(AliHLTComponentDataType);
+385   memset(&tgtdt.fID[0], 0, kAliHLTComponentDataTypefIDsize);
+386   memset(&tgtdt.fOrigin[0], 0, kAliHLTComponentDataTypefOriginSize);
+387 
+388   if ((int)strlen(id)>kAliHLTComponentDataTypefIDsize) {
+389     HLTWarning("data type id %s is too long, truncated to %d", id, kAliHLTComponentDataTypefIDsize);
+390   }
+391   strncpy(&tgtdt.fID[0], id, kAliHLTComponentDataTypefIDsize);
+392 
+393   if ((int)strlen(origin)>kAliHLTComponentDataTypefOriginSize) {
+394     HLTWarning("data type origin %s is too long, truncated to %d", origin, kAliHLTComponentDataTypefOriginSize);
+395   }
+396   strncpy(&tgtdt.fOrigin[0], origin, kAliHLTComponentDataTypefOriginSize);
+397 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!SetGlobalComponentHandler@{SetGlobalComponentHandler}}
+\index{SetGlobalComponentHandler@{SetGlobalComponentHandler}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Set\-Global\-Component\-Handler ({\bf Ali\-HLTComponent\-Handler} $\ast$ {\em p\-CH}, int {\em b\-Overwrite} = {\tt 0})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTComponent_e0}
+
+
+Set the global component handler. The static method is needed for the automatic registration of components. 
+
+Definition at line 118 of file Ali\-HLTComponent.cxx.
+
+References fgp\-Component\-Handler.
+
+Referenced by Ali\-HLTComponent\-Handler::Add\-Standard\-Components(), Ali\-HLTComponent\-Handler::Load\-Library(), and Unset\-Global\-Component\-Handler().
+
+\footnotesize\begin{verbatim}119 {
+120   // see header file for function documentation
+121   int iResult=0;
+122   if (fgpComponentHandler==NULL || bOverwrite!=0)
+123     fgpComponentHandler=pCH;
+124   else
+125     iResult=-EPERM;
+126   return iResult;
+127 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!SetStopwatch@{SetStopwatch}}
+\index{SetStopwatch@{SetStopwatch}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Set\-Stopwatch (TObject $\ast$ {\em p\-SW}, {\bf Ali\-HLTStopwatch\-Type} {\em type} = {\tt kSWBase})}\label{classAliHLTComponent_a17}
+
+
+Set a stopwatch for a given purpose. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-SW}]stopwatch object \item[{\em type}]type of the stopwatch \end{description}
+\end{Desc}
+
+
+Definition at line 918 of file Ali\-HLTComponent.cxx.
+
+References fp\-Stopwatches, and HLTWarning.
+
+Referenced by Ali\-HLTSystem::Init\-Benchmarking(), and Set\-Stopwatches().
+
+\footnotesize\begin{verbatim}919 {
+920   // see header file for function documentation
+921   int iResult=0;
+922   if (pSW!=NULL && type<kSWTypeCount) {
+923     if (fpStopwatches) {
+924       TObject* pObj=fpStopwatches->At((int)type);
+925       if (pSW==NULL        // explicit reset
+926           || pObj==NULL) { // explicit set
+927         fpStopwatches->AddAt(pSW, (int)type);
+928       } else if (pObj!=pSW) {
+929         HLTWarning("stopwatch %d already set, reset first", (int)type);
+930         iResult=-EBUSY;
+931       }
+932     }
+933   } else {
+934     iResult=-EINVAL;
+935   }
+936   return iResult;
+937 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!SetStopwatches@{SetStopwatches}}
+\index{SetStopwatches@{SetStopwatches}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Set\-Stopwatches (TObj\-Array $\ast$ {\em p\-Stopwatches})}\label{classAliHLTComponent_a18}
+
+
+Init a set of stopwatches. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Stopwatches}]object array of stopwatches \end{description}
+\end{Desc}
+
+
+Definition at line 939 of file Ali\-HLTComponent.cxx.
+
+References k\-SWType\-Count, and Set\-Stopwatch().
+
+Referenced by Ali\-HLTSystem::Init\-Benchmarking().
+
+\footnotesize\begin{verbatim}940 {
+941   // see header file for function documentation
+942   if (pStopwatches==NULL) return -EINVAL;
+943 
+944   int iResult=0;
+945   for (int i=0 ; i<(int)kSWTypeCount && pStopwatches->GetEntries(); i++)
+946     SetStopwatch(pStopwatches->At(i), (AliHLTStopwatchType)i);
+947   return iResult;
+948 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent@{Ali\-HLTComponent}!Spawn@{Spawn}}
+\index{Spawn@{Spawn}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Ali\-HLTComponent}$\ast$ Ali\-HLTComponent::Spawn ()\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAliHLTComponent_a13}
+
+
+Spawn function. Each component must implement a spawn function to create a new instance of the class. Basically the function must return {\em new {\bf my\_\-class\_\-name}\/}. \begin{Desc}
+\item[Returns:]new class instance \end{Desc}
+
+
+Implemented in {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a14})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a15})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a15})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_a16})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Crude\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerCrudeComponent_a5})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Peak\-Finder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerPeakFinderComponent_a3})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a9})}.
+
+Referenced by Ali\-HLTComponent\-Handler::Create\-Component().\index{AliHLTComponent@{Ali\-HLTComponent}!UnsetGlobalComponentHandler@{UnsetGlobalComponentHandler}}
+\index{UnsetGlobalComponentHandler@{UnsetGlobalComponentHandler}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Unset\-Global\-Component\-Handler ()\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTComponent_e1}
+
+
+Clear the global component handler. The static method is needed for the automatic registration of components. 
+
+Definition at line 129 of file Ali\-HLTComponent.cxx.
+
+References Set\-Global\-Component\-Handler().
+
+Referenced by Ali\-HLTComponent\-Handler::Add\-Standard\-Components(), and Ali\-HLTComponent\-Handler::Load\-Library().
+
+\footnotesize\begin{verbatim}130 {
+131   // see header file for function documentation
+132   return SetGlobalComponentHandler(NULL,1);
+133 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponent@{Ali\-HLTComponent}!fClassName@{fClassName}}
+\index{fClassName@{fClassName}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}string {\bf Ali\-HLTComponent::f\-Class\-Name}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r8}
+
+
+name of the class for the object to search for 
+
+Definition at line 846 of file Ali\-HLTComponent.h.
+
+Referenced by Get\-First\-Input\-Block(), Get\-First\-Input\-Object(), and Get\-Next\-Input\-Object().\index{AliHLTComponent@{Ali\-HLTComponent}!fCurrentEvent@{fCurrentEvent}}
+\index{fCurrentEvent@{fCurrentEvent}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTEvent\-ID\_\-t} {\bf Ali\-HLTComponent::f\-Current\-Event}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r1}
+
+
+Set by Process\-Event before the processing starts 
+
+Definition at line 825 of file Ali\-HLTComponent.h.
+
+Referenced by Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!fCurrentEventData@{fCurrentEventData}}
+\index{fCurrentEventData@{fCurrentEventData}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Event\-Data} {\bf Ali\-HLTComponent::f\-Current\-Event\-Data}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r4}
+
+
+event data struct of the current event under processing 
+
+Definition at line 834 of file Ali\-HLTComponent.h.
+
+Referenced by Create\-Input\-Object(), Find\-Input\-Block(), Get\-Data\-Type(), Get\-Input\-Object(), Get\-Number\-Of\-Input\-Blocks(), Get\-Specification(), and Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!fCurrentInputBlock@{fCurrentInputBlock}}
+\index{fCurrentInputBlock@{fCurrentInputBlock}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTComponent::f\-Current\-Input\-Block}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r6}
+
+
+transient 
+
+index of the current input block 
+
+Definition at line 840 of file Ali\-HLTComponent.h.
+
+Referenced by Get\-First\-Input\-Object(), Get\-Next\-Input\-Block(), Get\-Next\-Input\-Object(), and Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!fEnvironment@{fEnvironment}}
+\index{fEnvironment@{fEnvironment}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Environment} {\bf Ali\-HLTComponent::f\-Environment}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r0}
+
+
+transient 
+
+The environment where the component is running in 
+
+Definition at line 822 of file Ali\-HLTComponent.h.
+
+Referenced by Ali\-HLTComponent(), Alloc\-Memory(), Get\-Event\-Done\-Data(), and Init().\index{AliHLTComponent@{Ali\-HLTComponent}!fEventCount@{fEventCount}}
+\index{fEventCount@{fEventCount}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTComponent::f\-Event\-Count}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r2}
+
+
+internal event no 
+
+Reimplemented in {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_r3})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_r0})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_r0})}.
+
+Definition at line 828 of file Ali\-HLTComponent.h.
+
+Referenced by Do\-Deinit(), Do\-Init(), Increment\-Event\-Counter(), and Init().\index{AliHLTComponent@{Ali\-HLTComponent}!fFailedEvents@{fFailedEvents}}
+\index{fFailedEvents@{fFailedEvents}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTComponent::f\-Failed\-Events}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r3}
+
+
+the number of failed events 
+
+Definition at line 831 of file Ali\-HLTComponent.h.\index{AliHLTComponent@{Ali\-HLTComponent}!fgpComponentHandler@{fgpComponentHandler}}
+\index{fgpComponentHandler@{fgpComponentHandler}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Handler} $\ast$ {\bf Ali\-HLTComponent::fgp\-Component\-Handler} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTComponent_v0}
+
+
+The global component handler instance 
+
+Definition at line 116 of file Ali\-HLTComponent.cxx.
+
+Referenced by Ali\-HLTComponent(), and Set\-Global\-Component\-Handler().\index{AliHLTComponent@{Ali\-HLTComponent}!fOutputBlocks@{fOutputBlocks}}
+\index{fOutputBlocks@{fOutputBlocks}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTComponent\-Block\-Data}$>$ {\bf Ali\-HLTComponent::f\-Output\-Blocks}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r13}
+
+
+list of ouput block data descriptors 
+
+Definition at line 861 of file Ali\-HLTComponent.h.
+
+Referenced by Insert\-Output\-Block(), and Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!fOutputBufferFilled@{fOutputBufferFilled}}
+\index{fOutputBufferFilled@{fOutputBufferFilled}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent::f\-Output\-Buffer\-Filled}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r12}
+
+
+size of data written to output buffer 
+
+Definition at line 858 of file Ali\-HLTComponent.h.
+
+Referenced by Insert\-Output\-Block(), and Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!fOutputBufferSize@{fOutputBufferSize}}
+\index{fOutputBufferSize@{fOutputBufferSize}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent::f\-Output\-Buffer\-Size}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r11}
+
+
+transient 
+
+size of the output buffer 
+
+Definition at line 855 of file Ali\-HLTComponent.h.
+
+Referenced by Insert\-Output\-Block(), and Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!fpInputBlocks@{fpInputBlocks}}
+\index{fpInputBlocks@{fpInputBlocks}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Block\-Data}$\ast$ {\bf Ali\-HLTComponent::fp\-Input\-Blocks}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r5}
+
+
+array of input data blocks of the current event 
+
+Definition at line 837 of file Ali\-HLTComponent.h.
+
+Referenced by Create\-Input\-Object(), Find\-Input\-Block(), Get\-Data\-Type(), Get\-First\-Input\-Block(), Get\-Next\-Input\-Block(), Get\-Number\-Of\-Input\-Blocks(), Get\-Specification(), and Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!fpInputObjects@{fpInputObjects}}
+\index{fpInputObjects@{fpInputObjects}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TObj\-Array$\ast$ {\bf Ali\-HLTComponent::fp\-Input\-Objects}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r9}
+
+
+array of generated input objects 
+
+Definition at line 849 of file Ali\-HLTComponent.h.
+
+Referenced by Cleanup\-Input\-Objects(), Get\-Data\-Type(), Get\-Input\-Object(), and Get\-Specification().\index{AliHLTComponent@{Ali\-HLTComponent}!fpOutputBuffer@{fpOutputBuffer}}
+\index{fpOutputBuffer@{fpOutputBuffer}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t}$\ast$ {\bf Ali\-HLTComponent::fp\-Output\-Buffer}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r10}
+
+
+transient 
+
+the output buffer 
+
+Definition at line 852 of file Ali\-HLTComponent.h.
+
+Referenced by Insert\-Output\-Block(), and Process\-Event().\index{AliHLTComponent@{Ali\-HLTComponent}!fpStopwatches@{fpStopwatches}}
+\index{fpStopwatches@{fpStopwatches}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TObj\-Array$\ast$ {\bf Ali\-HLTComponent::fp\-Stopwatches}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r14}
+
+
+stopwatch array 
+
+Definition at line 864 of file Ali\-HLTComponent.h.
+
+Referenced by Set\-Stopwatch(), and $\sim$Ali\-HLTComponent().\index{AliHLTComponent@{Ali\-HLTComponent}!fSearchDataType@{fSearchDataType}}
+\index{fSearchDataType@{fSearchDataType}!AliHLTComponent@{Ali\-HLTComponent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTComponent::f\-Search\-Data\-Type}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_r7}
+
+
+data type of the last block search 
+
+Definition at line 843 of file Ali\-HLTComponent.h.
+
+Referenced by Get\-First\-Input\-Block(), Get\-First\-Input\-Object(), Get\-Next\-Input\-Block(), Get\-Next\-Input\-Object(), and Process\-Event().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTComponent.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTComponent.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTComponentHandler.eps b/HLT/PHOS/latex/classAliHLTComponentHandler.eps
new file mode 100644 (file)
index 0000000..f92728f
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 240.964
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.075 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTComponentHandler) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTComponentHandler) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTComponentHandler.tex b/HLT/PHOS/latex/classAliHLTComponentHandler.tex
new file mode 100644 (file)
index 0000000..a9d8964
--- /dev/null
@@ -0,0 +1,992 @@
+\section{Ali\-HLTComponent\-Handler Class Reference}
+\label{classAliHLTComponentHandler}\index{AliHLTComponentHandler@{AliHLTComponentHandler}}
+{\tt \#include $<$Ali\-HLTComponent\-Handler.h$>$}
+
+Inheritance diagram for Ali\-HLTComponent\-Handler::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTComponentHandler}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+The component handler controls all the processing components available in the system. It also controls the component shared libraries. 
+
+
+
+Definition at line 32 of file Ali\-HLTComponent\-Handler.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent\-Handler} ()
+\item 
+{\bf Ali\-HLTComponent\-Handler} ({\bf Ali\-HLTComponent\-Environment} $\ast$p\-Env)
+\item 
+{\bf Ali\-HLTComponent\-Handler} (const {\bf Ali\-HLTComponent\-Handler} \&)
+\item 
+{\bf Ali\-HLTComponent\-Handler} \& {\bf operator=} (const {\bf Ali\-HLTComponent\-Handler} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTComponent\-Handler} ()
+\item 
+void {\bf Set\-Environment} ({\bf Ali\-HLTComponent\-Environment} $\ast$p\-Env)
+\item 
+int {\bf Load\-Library} (const char $\ast$library\-Path)
+\item 
+void $\ast$ {\bf Find\-Symbol} (const char $\ast$library, const char $\ast$symbol)
+\item 
+int {\bf Unload\-Library} (const char $\ast$library\-Path)
+\item 
+int {\bf Schedule\-Register} ({\bf Ali\-HLTComponent} $\ast$p\-Sample)
+\item 
+int {\bf Register\-Component} ({\bf Ali\-HLTComponent} $\ast$p\-Sample)
+\item 
+int {\bf Register\-Scheduled\-Components} ()
+\item 
+int {\bf Deregister\-Component} (const char $\ast$component\-ID)
+\item 
+int {\bf Add\-Standard\-Components} ()
+\item 
+int {\bf Delete\-Standard\-Components} ()
+\item 
+int {\bf Create\-Component} (const char $\ast$component\-ID, void $\ast$p\-Env\-Param, int argc, const char $\ast$$\ast$argv, {\bf Ali\-HLTComponent} $\ast$\&component)
+\item 
+int {\bf Create\-Component} (const char $\ast$component\-ID, void $\ast$p\-Env\-Param, {\bf Ali\-HLTComponent} $\ast$\&component)
+\item 
+void {\bf List} ()
+\item 
+int {\bf Announce\-Version} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Find\-Component\-Index} (const char $\ast$component\-ID)
+\item 
+{\bf Ali\-HLTComponent} $\ast$ {\bf Find\-Component} (const char $\ast$component\-ID)
+\item 
+int {\bf Insert\-Component} ({\bf Ali\-HLTComponent} $\ast$p\-Sample)
+\item 
+int {\bf Unload\-Libraries} ()
+\item 
+{\bf Ali\-HLTLib\-Handle} $\ast$ {\bf Find\-Library} (const char $\ast$library)
+\item 
+int {\bf Unload\-Library} ({\bf Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle} \&handle)
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTComponent\-Handler}, 0)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+vector$<$ {\bf Ali\-HLTComponent} $\ast$ $>$ {\bf f\-Component\-List}
+\item 
+vector$<$ {\bf Ali\-HLTComponent} $\ast$ $>$ {\bf f\-Schedule\-List}
+\item 
+vector$<$ {\bf Ali\-HLTLib\-Handle} $>$ {\bf f\-Library\-List}
+\item 
+{\bf Ali\-HLTComponent\-Environment} {\bf f\-Environment}
+\item 
+vector$<$ {\bf Ali\-HLTComponent} $\ast$ $>$ {\bf f\-Standard\-List}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!AliHLTComponentHandler@{AliHLTComponentHandler}}
+\index{AliHLTComponentHandler@{AliHLTComponentHandler}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent\-Handler::Ali\-HLTComponent\-Handler ()}\label{classAliHLTComponentHandler_a0}
+
+
+standard constructor \index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!AliHLTComponentHandler@{AliHLTComponentHandler}}
+\index{AliHLTComponentHandler@{AliHLTComponentHandler}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent\-Handler::Ali\-HLTComponent\-Handler ({\bf Ali\-HLTComponent\-Environment} $\ast$ {\em p\-Env})}\label{classAliHLTComponentHandler_a1}
+
+
+constructor 
+
+Definition at line 67 of file Ali\-HLTComponent\-Handler.cxx.
+
+References Add\-Standard\-Components(), f\-Environment, Ali\-HLTComponent\-Environment::f\-Logging\-Func, and Ali\-HLTLogging::Init().
+
+\footnotesize\begin{verbatim}68   :
+69   fComponentList(),
+70   fScheduleList(),
+71   fLibraryList(),
+72   fEnvironment(),
+73   fStandardList()
+74 {
+75   // see header file for class documentation
+76   if (pEnv) {
+77     memcpy(&fEnvironment, pEnv, sizeof(AliHLTComponentEnvironment));
+78     if (pEnv->fLoggingFunc) {
+79       // the AliHLTLogging::Init method also sets the stream output
+80       // and notification handler to AliLog. This should only be done
+81       // if the logging environment contains a logging function
+82       // for redirection
+83       AliHLTLogging::Init(pEnv->fLoggingFunc);
+84     }
+85   }  else
+86     memset(&fEnvironment, 0, sizeof(AliHLTComponentEnvironment));
+87   AddStandardComponents();
+88 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!AliHLTComponentHandler@{AliHLTComponentHandler}}
+\index{AliHLTComponentHandler@{AliHLTComponentHandler}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent\-Handler::Ali\-HLTComponent\-Handler (const {\bf Ali\-HLTComponent\-Handler} \&)}\label{classAliHLTComponentHandler_a2}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 90 of file Ali\-HLTComponent\-Handler.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}91   :
+92   fComponentList(),
+93   fScheduleList(),
+94   fLibraryList(),
+95   fEnvironment(),
+96   fStandardList()
+97 {
+98   // see header file for class documentation
+99   HLTFatal("copy constructor untested");
+100 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!~AliHLTComponentHandler@{$\sim$AliHLTComponentHandler}}
+\index{~AliHLTComponentHandler@{$\sim$AliHLTComponentHandler}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent\-Handler::$\sim${\bf Ali\-HLTComponent\-Handler} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTComponentHandler_a4}
+
+
+destructor 
+
+Definition at line 109 of file Ali\-HLTComponent\-Handler.cxx.
+
+References Delete\-Standard\-Components(), and Unload\-Libraries().
+
+\footnotesize\begin{verbatim}110 {
+111   // see header file for class documentation
+112   DeleteStandardComponents();
+113   UnloadLibraries();
+114 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!AddStandardComponents@{AddStandardComponents}}
+\index{AddStandardComponents@{AddStandardComponents}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Add\-Standard\-Components ()}\label{classAliHLTComponentHandler_a13}
+
+
+Add standard components The standard components are part of the lib\-HLTbase library and need therefore a special handling. 
+
+Definition at line 447 of file Ali\-HLTComponent\-Handler.cxx.
+
+References Register\-Scheduled\-Components(), Ali\-HLTComponent::Set\-Global\-Component\-Handler(), and Ali\-HLTComponent::Unset\-Global\-Component\-Handler().
+
+Referenced by Ali\-HLTComponent\-Handler().
+
+\footnotesize\begin{verbatim}448 {
+449   // see header file for class documentation
+450   int iResult=0;
+451   AliHLTComponent::SetGlobalComponentHandler(this);
+452 //   fStandardList.push_back(new AliHLTFilePublisher);
+453 //   fStandardList.push_back(new AliHLTFileWriter);
+454 //   fStandardList.push_back(new AliHLTRootFilePublisherComponent);
+455 //   fStandardList.push_back(new AliHLTRootFileWriterComponent);
+456   AliHLTComponent::UnsetGlobalComponentHandler();
+457   iResult=RegisterScheduledComponents();
+458   return iResult;
+459 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!AnnounceVersion@{AnnounceVersion}}
+\index{AnnounceVersion@{AnnounceVersion}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Announce\-Version ()}\label{classAliHLTComponentHandler_a18}
+
+
+Announce version and compilation info of the base library. 
+
+Definition at line 116 of file Ali\-HLTComponent\-Handler.cxx.
+
+References HLTInfo.
+
+Referenced by Ali\-HLT\_\-C\_\-Component\_\-Init\-System().
+
+\footnotesize\begin{verbatim}117 {
+118   // see header file for class documentation
+119   int iResult=0;
+120 #ifdef PACKAGE_STRING
+121   void HLTbaseCompileInfo( char*& date, char*& time);
+122   char* date="";
+123   char* time="";
+124   HLTbaseCompileInfo(date, time);
+125   if (!date) date="unknown";
+126   if (!time) time="unknown";
+127   HLTInfo("%s build on %s (%s)", PACKAGE_STRING, date, time);
+128 #else
+129   HLTInfo("ALICE High Level Trigger build on %s (%s) (embedded AliRoot build)", __DATE__, __TIME__);
+130 #endif
+131   return iResult;
+132 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent\-Handler::Class\-Def ({\bf Ali\-HLTComponent\-Handler}, 0)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_d6}
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!CreateComponent@{CreateComponent}}
+\index{CreateComponent@{CreateComponent}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Create\-Component (const char $\ast$ {\em component\-ID}, void $\ast$ {\em p\-Env\-Param}, {\bf Ali\-HLTComponent} $\ast$\& {\em component})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTComponentHandler_a16}
+
+
+Create a component of the given name (ID). Introduced for backward compatibility. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em component\-ID}]ID of the component to create \item[{\em p\-Env\-Param}]environment parameter for the component \item[{\em component}]reference to receive the create component instance \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]component pointer in component, neg. error code if failed \end{Desc}
+
+
+Definition at line 166 of file Ali\-HLTComponent\-Handler.h.
+
+References Create\-Component().
+
+\footnotesize\begin{verbatim}168     {
+169     return CreateComponent( componentID, pEnvParam, 0, NULL, component );
+170     }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!CreateComponent@{CreateComponent}}
+\index{CreateComponent@{CreateComponent}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Create\-Component (const char $\ast$ {\em component\-ID}, void $\ast$ {\em p\-Env\-Param}, int {\em argc}, const char $\ast$$\ast$ {\em argv}, {\bf Ali\-HLTComponent} $\ast$\& {\em component})}\label{classAliHLTComponentHandler_a15}
+
+
+Create a component of the given name (ID). The method tries to find a registerd component of id {\em component\-ID\/} and calls the {\em Spawn\/} method of the template component. After successful creation of a new object, the Init method is called in order to initialize the environment and the component arguments. \par
+ The environment is the same for all components, but each component can have an additional private parameter {\em p\-Env\-Param\/}.\par
+ The component arguments consist of an array of strings and the array size in the usual manner of the {\bf main()}{\rm (p.\,\pageref{PeakFinderTest_8cxx_a1})} function. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em component\-ID}]ID of the component to create \item[{\em p\-Env\-Param}]environment parameter for the component \item[{\em argc}]number of arguments in argv \item[{\em argv}]argument array like in {\bf main()}{\rm (p.\,\pageref{PeakFinderTest_8cxx_a1})} \item[{\em component}]reference to receive the create component instance \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]component pointer in component, neg. error code if failed \end{Desc}
+
+
+Definition at line 180 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Environment, Find\-Component(), HLTDebug, HLTError, HLTWarning, Ali\-HLTComponent::Init(), and Ali\-HLTComponent::Spawn().
+
+Referenced by Ali\-HLT\_\-C\_\-Create\-Component(), Create\-Component(), and Ali\-HLTTask::Init().
+
+\footnotesize\begin{verbatim}181 {
+182   // see header file for class documentation
+183   int iResult=0;
+184   if (componentID) {
+185     AliHLTComponent* pSample=FindComponent(componentID);
+186     if (pSample!=NULL) {
+187       component=pSample->Spawn();
+188       if (component) {
+189         HLTDebug("component \"%s\" created (%p)", componentID, component);
+190         if ((iResult=component->Init(&fEnvironment, pEnvParam, argc, argv))!=0) {
+191           HLTError("Initialization of component \"%s\" failed with error %d", componentID, iResult);
+192           delete component;
+193           component=NULL;
+194         }
+195       } else {
+196         HLTError("can not spawn component \"%s\"", componentID);
+197         iResult=-ENOENT;
+198       }
+199     } else {
+200       HLTWarning("can not find component \"%s\"", componentID);
+201       iResult=-ENOENT;
+202     }
+203   } else {
+204     iResult=-EINVAL;
+205   }
+206   return iResult;
+207 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!DeleteStandardComponents@{DeleteStandardComponents}}
+\index{DeleteStandardComponents@{DeleteStandardComponents}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Delete\-Standard\-Components ()}\label{classAliHLTComponentHandler_a14}
+
+
+
+
+Definition at line 476 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Standard\-List.
+
+Referenced by $\sim$Ali\-HLTComponent\-Handler().
+
+\footnotesize\begin{verbatim}477 {
+478   // see header file for class documentation
+479   int iResult=0;
+480   vector<AliHLTComponent*>::iterator element=fStandardList.begin();
+481   while (element!=fStandardList.end()) {
+482     //DeregisterComponent((*element)->GetComponentID());
+483     delete(*element);
+484     fStandardList.erase(element);
+485     element=fStandardList.begin();
+486   }
+487   return iResult;
+488 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!DeregisterComponent@{DeregisterComponent}}
+\index{DeregisterComponent@{DeregisterComponent}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Deregister\-Component (const char $\ast$ {\em component\-ID})}\label{classAliHLTComponentHandler_a12}
+
+
+Deregister a component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em component\-ID}]ID of the component \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 155 of file Ali\-HLTComponent\-Handler.cxx.
+
+References HLTWarning.
+
+\footnotesize\begin{verbatim}156 {
+157   // see header file for class documentation
+158 
+159   int iResult=0;
+160   if (componentID) {
+161     HLTWarning("not yet implemented, please notify the developers if you need this function");
+162   } else {
+163     iResult=-EINVAL;
+164   }
+165   return iResult;
+166 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!FindComponent@{FindComponent}}
+\index{FindComponent@{FindComponent}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent} $\ast$ Ali\-HLTComponent\-Handler::Find\-Component (const char $\ast$ {\em component\-ID})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_d1}
+
+
+Find a component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em component\-ID}]ID of the component to find \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]descriptor \end{Desc}
+
+
+Definition at line 229 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Component\-List, and Find\-Component\-Index().
+
+Referenced by Create\-Component(), and Register\-Component().
+
+\footnotesize\begin{verbatim}230 {
+231   // see header file for class documentation
+232   AliHLTComponent* pSample=NULL;
+233   Int_t index=FindComponentIndex(componentID);
+234   if (index>=0) {
+235     pSample=(AliHLTComponent*)fComponentList.at(index);
+236   }
+237   return pSample;
+238 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!FindComponentIndex@{FindComponentIndex}}
+\index{FindComponentIndex@{FindComponentIndex}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t Ali\-HLTComponent\-Handler::Find\-Component\-Index (const char $\ast$ {\em component\-ID})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_d0}
+
+
+Find a component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em component\-ID}]ID of the component to find \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]index, neg. error code if failed \end{Desc}
+
+
+Definition at line 209 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Component\-List.
+
+Referenced by Find\-Component().
+
+\footnotesize\begin{verbatim}210 {
+211   // see header file for class documentation
+212   Int_t iResult=0;
+213   if (componentID) {
+214     vector<AliHLTComponent*>::iterator element=fComponentList.begin();
+215     while (element!=fComponentList.end() && iResult>=0) {
+216       if (strcmp(componentID, (*element)->GetComponentID())==0) {
+217         break;
+218       }
+219       element++;
+220       iResult++;
+221     }
+222     if (element==fComponentList.end()) iResult=-ENOENT;
+223   } else {
+224     iResult=-EINVAL;
+225   }
+226   return iResult;
+227 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!FindLibrary@{FindLibrary}}
+\index{FindLibrary@{FindLibrary}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle} $\ast$ Ali\-HLTComponent\-Handler::Find\-Library (const char $\ast$ {\em library})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_d4}
+
+
+Find a specific library among the loaded libraries. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em library}]library name/path \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to {\bf Ali\-HLTLib\-Handle}{\rm (p.\,\pageref{structAliHLTComponentHandler_1_1AliHLTLibHandle})} \end{Desc}
+
+
+Definition at line 431 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Library\-List.
+
+Referenced by Find\-Symbol(), and Load\-Library().
+
+\footnotesize\begin{verbatim}432 {
+433   // see header file for class documentation
+434   AliHLTLibHandle* hLib=NULL;
+435   vector<AliHLTLibHandle>::iterator element=fLibraryList.begin();
+436   while (element!=fLibraryList.end()) {
+437     TString* name=reinterpret_cast<TString*>((*element).fName);
+438     if (name->CompareTo(library)==0) {
+439       hLib=&(*element);
+440       break;
+441     }
+442     element++;
+443   }
+444   return hLib;
+445 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!FindSymbol@{FindSymbol}}
+\index{FindSymbol@{FindSymbol}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void $\ast$ Ali\-HLTComponent\-Handler::Find\-Symbol (const char $\ast$ {\em library}, const char $\ast$ {\em symbol})}\label{classAliHLTComponentHandler_a7}
+
+
+Find a symbol in a dynamically loaded library. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em library}]library \item[{\em symbol}]the symbol to find \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]void pointer to function \end{Desc}
+
+
+Definition at line 416 of file Ali\-HLTComponent\-Handler.cxx.
+
+References Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::f\-Handle, Find\-Library(), and Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::f\-Name.
+
+Referenced by Ali\-HLTSystem::Find\-Dynamic\-Symbol(), and Ali\-HLTLogging::Init\-Ali\-Log\-Trap().
+
+\footnotesize\begin{verbatim}417 {
+418   // see header file for class documentation
+419   AliHLTLibHandle* hLib=FindLibrary(library);
+420   if (hLib==NULL) return NULL;
+421   void* pFunc=NULL;
+422 #ifdef HAVE_DLFCN_H
+423   pFunc=dlsym(hLib->fHandle, symbol);
+424 #else
+425   TString* name=reinterpret_cast<TString*>(hLib->fName);
+426   pFunc=gSystem->DynFindSymbol(name->Data(), symbol);
+427 #endif
+428   return pFunc;
+429 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!InsertComponent@{InsertComponent}}
+\index{InsertComponent@{InsertComponent}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t Ali\-HLTComponent\-Handler::Insert\-Component ({\bf Ali\-HLTComponent} $\ast$ {\em p\-Sample})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_d2}
+
+
+Insert component to the list \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Sample}]sample object of the component \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 240 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Component\-List.
+
+Referenced by Register\-Component().
+
+\footnotesize\begin{verbatim}241 {
+242   // see header file for class documentation
+243   Int_t iResult=0;
+244   if (pSample!=NULL) {
+245     fComponentList.push_back(pSample);
+246   } else {
+247     iResult=-EINVAL;
+248   }
+249   return iResult;
+250 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!List@{List}}
+\index{List@{List}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent\-Handler::List ()}\label{classAliHLTComponentHandler_a17}
+
+
+Print registered components to stdout. \begin{Desc}
+\item[Returns:]none \end{Desc}
+
+
+Definition at line 252 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Component\-List, and HLTInfo.
+
+\footnotesize\begin{verbatim}253 {
+254   // see header file for class documentation
+255   vector<AliHLTComponent*>::iterator element=fComponentList.begin();
+256   int index=0;
+257   while (element!=fComponentList.end()) {
+258     HLTInfo("%d. %s", index++, (*element++)->GetComponentID());
+259   }
+260 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!LoadLibrary@{LoadLibrary}}
+\index{LoadLibrary@{LoadLibrary}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Load\-Library (const char $\ast$ {\em library\-Path})}\label{classAliHLTComponentHandler_a6}
+
+
+Load a component shared library. The component library needs to be loaded from the Component\-Hanler in order to automatically register all components in the library. Registration is done by passing a sample object of the component to the handler. The object has to be valid during the whole runtime and should thus be a global object which is ONLY used for the purpose of registration. This also ensures automatically registration at library load time. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em library\-Path}]const char string containing the library name/path \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 if succeeded, neg. error code if failed \end{Desc}
+
+
+Definition at line 277 of file Ali\-HLTComponent\-Handler.cxx.
+
+References Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::f\-Handle, Find\-Library(), f\-Library\-List, Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::f\-Name, HLTDebug, HLTError, HLTInfo, Register\-Scheduled\-Components(), Ali\-HLTComponent::Set\-Global\-Component\-Handler(), and Ali\-HLTComponent::Unset\-Global\-Component\-Handler().
+
+Referenced by Ali\-HLT\_\-C\_\-Component\_\-Load\-Library(), Ali\-HLTLogging::Init\-Ali\-Log\-Trap(), and Ali\-HLTSystem::Load\-Component\-Libraries().
+
+\footnotesize\begin{verbatim}278 {
+279   // see header file for class documentation
+280   int iResult=0;
+281   if (libraryPath) {
+282     AliHLTComponent::SetGlobalComponentHandler(this);
+283     AliHLTLibHandle hLib;
+284     const char* loadtype="";
+285 #ifdef HAVE_DLFCN_H
+286     // use interface to the dynamic linking loader
+287     hLib.fHandle=dlopen(libraryPath, RTLD_NOW);
+288     loadtype="dlopen";
+289 #else
+290     // use ROOT dynamic loader
+291     // check if the library was already loaded, as Load returns
+292     // 'failure' if the library was already loaded
+293     AliHLTLibHandle* pLib=FindLibrary(libraryPath);
+294     if (pLib) {
+295         int* pRootHandle=reinterpret_cast<int*>(pLib->fHandle);
+296         (*pRootHandle)++;
+297         HLTDebug("instance %d of library %s loaded", (*pRootHandle), libraryPath);
+298         hLib.fHandle=pRootHandle;
+299     }
+300     
+301     if (hLib.fHandle==NULL && gSystem->Load(libraryPath)==0) {
+302       int* pRootHandle=new int;
+303       if (pRootHandle) *pRootHandle=1;
+304       hLib.fHandle=pRootHandle;
+305       //HLTDebug("library %s loaded via gSystem", libraryPath);
+306     }
+307     loadtype="gSystem";
+308 #endif //HAVE_DLFCN_H
+309     if (hLib.fHandle!=NULL) {
+310       // create TString object to store library path and use pointer as handle 
+311       hLib.fName=new TString(libraryPath);
+312       HLTInfo("library %s loaded (%s)", libraryPath, loadtype);
+313       fLibraryList.insert(fLibraryList.begin(), hLib);
+314       iResult=RegisterScheduledComponents();
+315     } else {
+316       HLTError("can not load library %s", libraryPath);
+317 #ifdef HAVE_DLFCN_H
+318       HLTError("dlopen error: %s", dlerror());
+319 #endif //HAVE_DLFCN_H
+320 #ifdef __APPLE__
+321       iResult=-EFTYPE;
+322 #else
+323       iResult=-ELIBACC;
+324 #endif
+325     }
+326     AliHLTComponent::UnsetGlobalComponentHandler();
+327   } else {
+328     iResult=-EINVAL;
+329   }
+330   return iResult;
+331 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Handler} \& Ali\-HLTComponent\-Handler::operator= (const {\bf Ali\-HLTComponent\-Handler} \&)}\label{classAliHLTComponentHandler_a3}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 102 of file Ali\-HLTComponent\-Handler.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}103 { 
+104   // see header file for class documentation
+105   HLTFatal("assignment operator untested");
+106   return *this;
+107 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!RegisterComponent@{RegisterComponent}}
+\index{RegisterComponent@{RegisterComponent}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t Ali\-HLTComponent\-Handler::Register\-Component ({\bf Ali\-HLTComponent} $\ast$ {\em p\-Sample})}\label{classAliHLTComponentHandler_a10}
+
+
+Register a component. Registration is done by passing a sample object of the component to the handler. The object has to be valid during the whole runtime and should thus be a global object which is ONLY used for the purpose of registration. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Sample}]a sample object of the component \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 134 of file Ali\-HLTComponent\-Handler.cxx.
+
+References Find\-Component(), Ali\-HLTComponent::Get\-Component\-ID(), HLTDebug, HLTInfo, and Insert\-Component().
+
+Referenced by Register\-Scheduled\-Components().
+
+\footnotesize\begin{verbatim}135 {
+136   // see header file for class documentation
+137   Int_t iResult=0;
+138   if (pSample) {
+139     if (FindComponent(pSample->GetComponentID())==NULL) {
+140       iResult=InsertComponent(pSample);
+141       if (iResult>=0) {
+142         HLTInfo("component %s registered", pSample->GetComponentID());
+143       }
+144     } else {
+145       // component already registered
+146       HLTDebug("component %s already registered, skipped", pSample->GetComponentID());
+147       iResult=-EEXIST;
+148     }
+149   } else {
+150     iResult=-EINVAL;
+151   }
+152   return iResult;
+153 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!RegisterScheduledComponents@{RegisterScheduledComponents}}
+\index{RegisterScheduledComponents@{RegisterScheduledComponents}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Register\-Scheduled\-Components ()}\label{classAliHLTComponentHandler_a11}
+
+
+Registers all scheduled components. 
+
+Definition at line 461 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Schedule\-List, and Register\-Component().
+
+Referenced by Add\-Standard\-Components(), and Load\-Library().
+
+\footnotesize\begin{verbatim}462 {
+463   // see header file for class documentation
+464   int iResult=0;
+465   vector<AliHLTComponent*>::iterator element=fScheduleList.begin();
+466   int iLocalResult=0;
+467   while (element!=fScheduleList.end()) {
+468     iLocalResult=RegisterComponent(*element);
+469     if (iResult==0) iResult=iLocalResult;
+470     fScheduleList.erase(element);
+471     element=fScheduleList.begin();
+472   }
+473   return iResult;
+474 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!ScheduleRegister@{ScheduleRegister}}
+\index{ScheduleRegister@{ScheduleRegister}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t Ali\-HLTComponent\-Handler::Schedule\-Register ({\bf Ali\-HLTComponent} $\ast$ {\em p\-Sample})}\label{classAliHLTComponentHandler_a9}
+
+
+Schedule a component for registration. Full registration will be done after successfull loading of the shared library. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Sample}]a sample object of the component \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 168 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Schedule\-List.
+
+Referenced by Ali\-HLTComponent::Ali\-HLTComponent().
+
+\footnotesize\begin{verbatim}169 {
+170   // see header file for class documentation
+171   Int_t iResult=0;
+172   if (pSample) {
+173     fScheduleList.push_back(pSample);
+174   } else {
+175     iResult=-EINVAL;
+176   }
+177   return iResult;
+178 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!SetEnvironment@{SetEnvironment}}
+\index{SetEnvironment@{SetEnvironment}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTComponent\-Handler::Set\-Environment ({\bf Ali\-HLTComponent\-Environment} $\ast$ {\em p\-Env})}\label{classAliHLTComponentHandler_a5}
+
+
+Set the environment for the HLT framework. The environment mainly consists of function pointers for the integration of the HLT framework into a system like the Pub\-Sub online system or Ali\-Root offline system. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Env}]pointer to {\bf Ali\-HLTComponent\-Environment}{\rm (p.\,\pageref{structAliHLTComponentEnvironment})} structure \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]none \end{Desc}
+
+
+Definition at line 262 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Environment, Ali\-HLTComponent\-Environment::f\-Logging\-Func, and Ali\-HLTLogging::Init().
+
+\footnotesize\begin{verbatim}263 {
+264   // see header file for class documentation
+265   if (pEnv) {
+266     memcpy(&fEnvironment, pEnv, sizeof(AliHLTComponentEnvironment));
+267     if (fEnvironment.fLoggingFunc) {
+268       // the AliHLTLogging::Init method also sets the stream output
+269       // and notification handler to AliLog. This should only be done
+270       // if the logging environment contains a logging function
+271       // for redirection
+272       AliHLTLogging::Init(fEnvironment.fLoggingFunc);
+273     }
+274   }
+275 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!UnloadLibraries@{UnloadLibraries}}
+\index{UnloadLibraries@{UnloadLibraries}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Unload\-Libraries ()\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_d3}
+
+
+Close all libraries. \begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 403 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Library\-List, and Unload\-Library().
+
+Referenced by $\sim$Ali\-HLTComponent\-Handler().
+
+\footnotesize\begin{verbatim}404 {
+405   // see header file for class documentation
+406   int iResult=0;
+407   vector<AliHLTLibHandle>::iterator element=fLibraryList.begin();
+408   while (element!=fLibraryList.end()) {
+409     UnloadLibrary(*element);
+410     fLibraryList.erase(element);
+411     element=fLibraryList.begin();
+412   }
+413   return iResult;
+414 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!UnloadLibrary@{UnloadLibrary}}
+\index{UnloadLibrary@{UnloadLibrary}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Unload\-Library ({\bf Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle} \& {\em handle})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_d5}
+
+
+Unload a component shared library. All components will be de-registered when the last instance of the library was unloaded. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em handle}]handle to the library to unload \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 if succeeded, neg. error code if failed \end{Desc}
+
+
+Definition at line 354 of file Ali\-HLTComponent\-Handler.cxx.
+
+References Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::f\-Handle, Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::f\-Name, HLTDebug, HLTError, and HLTWarning.
+
+\footnotesize\begin{verbatim}355 {
+356   // see header file for class documentation
+357   int iResult=0;
+358   fgAliLoggingFunc=NULL;
+359   TString* pName=reinterpret_cast<TString*>(handle.fName);
+360 #ifdef HAVE_DLFCN_H
+361   dlclose(handle.fHandle);
+362 #else
+363   int* pCount=reinterpret_cast<int*>(handle.fHandle);
+364   if (--(*pCount)==0) {
+365     if (pName) {
+384     }
+385     else {
+386       HLTError("missing library name, can not unload");
+387     }
+388     delete pCount;
+389   }
+390 #endif //HAVE_DLFCN_H
+391   handle.fName=NULL;
+392   handle.fHandle=NULL;
+393   if (pName) {
+394     HLTDebug("unload library %s", pName->Data());
+395     delete pName;
+396   } else {
+397     HLTWarning("missing name for unloaded library");
+398   }
+399   pName=NULL;
+400   return iResult;
+401 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!UnloadLibrary@{UnloadLibrary}}
+\index{UnloadLibrary@{UnloadLibrary}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent\-Handler::Unload\-Library (const char $\ast$ {\em library\-Path})}\label{classAliHLTComponentHandler_a8}
+
+
+Unload a component shared library. All components will be de-registered when the last instance of the library was unloaded. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em library\-Path}]library name as specified to {\bf Load\-Library}{\rm (p.\,\pageref{classAliHLTComponentHandler_a6})} \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 if succeeded, neg. error code if failed \end{Desc}
+
+
+Definition at line 333 of file Ali\-HLTComponent\-Handler.cxx.
+
+References f\-Library\-List.
+
+Referenced by Ali\-HLT\_\-C\_\-Component\_\-Unload\-Library(), and Unload\-Libraries().
+
+\footnotesize\begin{verbatim}334 {
+335   // see header file for class documentation
+336   int iResult=0;
+337   if (libraryPath) {
+338     vector<AliHLTLibHandle>::iterator element=fLibraryList.begin();
+339     while (element!=fLibraryList.end()) {
+340       TString* pName=reinterpret_cast<TString*>((*element).fName);
+341       if (pName->CompareTo(libraryPath)==0) {
+342         UnloadLibrary(*element);
+343         fLibraryList.erase(element);
+344         break;
+345       }
+346       element++;
+347   }
+348   } else {
+349     iResult=-EINVAL;
+350   }
+351   return iResult;
+352 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!fComponentList@{fComponentList}}
+\index{fComponentList@{fComponentList}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTComponent}$\ast$$>$ {\bf Ali\-HLTComponent\-Handler::f\-Component\-List}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_r0}
+
+
+list of registered components 
+
+Definition at line 241 of file Ali\-HLTComponent\-Handler.h.
+
+Referenced by Find\-Component(), Find\-Component\-Index(), Insert\-Component(), and List().\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!fEnvironment@{fEnvironment}}
+\index{fEnvironment@{fEnvironment}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Environment} {\bf Ali\-HLTComponent\-Handler::f\-Environment}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_r3}
+
+
+running environment for the component 
+
+Definition at line 247 of file Ali\-HLTComponent\-Handler.h.
+
+Referenced by Ali\-HLTComponent\-Handler(), Create\-Component(), and Set\-Environment().\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!fLibraryList@{fLibraryList}}
+\index{fLibraryList@{fLibraryList}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTLib\-Handle}$>$ {\bf Ali\-HLTComponent\-Handler::f\-Library\-List}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_r2}
+
+
+list of libraries 
+
+Definition at line 245 of file Ali\-HLTComponent\-Handler.h.
+
+Referenced by Find\-Library(), Load\-Library(), Unload\-Libraries(), and Unload\-Library().\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!fScheduleList@{fScheduleList}}
+\index{fScheduleList@{fScheduleList}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTComponent}$\ast$$>$ {\bf Ali\-HLTComponent\-Handler::f\-Schedule\-List}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_r1}
+
+
+list of scheduled components 
+
+Definition at line 243 of file Ali\-HLTComponent\-Handler.h.
+
+Referenced by Register\-Scheduled\-Components(), and Schedule\-Register().\index{AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}!fStandardList@{fStandardList}}
+\index{fStandardList@{fStandardList}!AliHLTComponentHandler@{Ali\-HLTComponent\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTComponent}$\ast$$>$ {\bf Ali\-HLTComponent\-Handler::f\-Standard\-List}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponentHandler_r4}
+
+
+list of standard components 
+
+Definition at line 249 of file Ali\-HLTComponent\-Handler.h.
+
+Referenced by Delete\-Standard\-Components().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTComponent\-Handler.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTComponent\-Handler.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTComponent_1_1AliHLTStopwatchGuard.tex b/HLT/PHOS/latex/classAliHLTComponent_1_1AliHLTStopwatchGuard.tex
new file mode 100644 (file)
index 0000000..9a00eb2
--- /dev/null
@@ -0,0 +1,243 @@
+\section{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard Class Reference}
+\label{classAliHLTComponent_1_1AliHLTStopwatchGuard}\index{AliHLTComponent::AliHLTStopwatchGuard@{AliHLTComponent::AliHLTStopwatchGuard}}
+{\tt \#include $<$Ali\-HLTComponent.h$>$}
+
+
+
+\subsection{Detailed Description}
+Helper class for starting and stopping a stopwatch. The guard can be used by instantiating an object in a function. The specified stopwatch is started and the previous stopwatch put on hold. When the function is terminated, the object is deleted automatically deleted, stopping the stopwatch and starting the one on hold.\par
+ {\em IMPORTANT:\/} never create dynamic objects from this guard as this violates the idea of a guard. 
+
+
+
+Definition at line 396 of file Ali\-HLTComponent.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTStopwatch\-Guard} ()
+\item 
+{\bf Ali\-HLTStopwatch\-Guard} (TStopwatch $\ast$p\-Start)
+\item 
+{\bf Ali\-HLTStopwatch\-Guard} ({\bf Ali\-HLTStopwatch\-Guard} \&)
+\item 
+{\bf $\sim$Ali\-HLTStopwatch\-Guard} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Hold} (TStopwatch $\ast$p\-Succ)
+\item 
+int {\bf Resume} (TStopwatch $\ast$p\-Succ)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+TStopwatch $\ast$ {\bf fp\-Stopwatch}
+\item 
+{\bf Ali\-HLTStopwatch\-Guard} $\ast$ {\bf fp\-Prec}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTStopwatch\-Guard} $\ast$ {\bf fgp\-Current} = NULL
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!AliHLTStopwatchGuard@{AliHLTStopwatchGuard}}
+\index{AliHLTStopwatchGuard@{AliHLTStopwatchGuard}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::Ali\-HLTStopwatch\-Guard ()}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_a0}
+
+
+standard constructor (not for use) 
+
+Definition at line 852 of file Ali\-HLTComponent.cxx.
+
+\footnotesize\begin{verbatim}853   :
+854   fpStopwatch(NULL),
+855   fpPrec(NULL)
+856 {
+857   // standard constructor (not for use)
+858 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!AliHLTStopwatchGuard@{AliHLTStopwatchGuard}}
+\index{AliHLTStopwatchGuard@{AliHLTStopwatchGuard}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::Ali\-HLTStopwatch\-Guard (TStopwatch $\ast$ {\em p\-Start})}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_a1}
+
+
+constructor 
+
+Definition at line 860 of file Ali\-HLTComponent.cxx.
+
+References fgp\-Current, fp\-Prec, fp\-Stopwatch, and Hold().
+
+\footnotesize\begin{verbatim}861   :
+862   fpStopwatch(pStopwatch),
+863   fpPrec(NULL)
+864 {
+865   // constructor
+866 
+867   // check for already existing guard
+868   if (fgpCurrent) fpPrec=fgpCurrent;
+869   fgpCurrent=this;
+870 
+871   // stop the preceeding guard if it controls a different stopwatch
+872   int bStart=1;
+873   if (fpPrec && fpPrec!=this) bStart=fpPrec->Hold(fpStopwatch);
+874 
+875   // start the stopwatch if the current guard controls a different one
+876   if (fpStopwatch && bStart==1) fpStopwatch->Start(kFALSE);
+877 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!AliHLTStopwatchGuard@{AliHLTStopwatchGuard}}
+\index{AliHLTStopwatchGuard@{AliHLTStopwatchGuard}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::Ali\-HLTStopwatch\-Guard ({\bf Ali\-HLTStopwatch\-Guard} \&)}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_a2}
+
+
+copy constructor (not for use) 
+
+Definition at line 879 of file Ali\-HLTComponent.cxx.
+
+\footnotesize\begin{verbatim}880   :
+881   fpStopwatch(NULL),
+882   fpPrec(NULL)
+883 {
+884   // copy constructor (not for use)
+885 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!~AliHLTStopwatchGuard@{$\sim$AliHLTStopwatchGuard}}
+\index{~AliHLTStopwatchGuard@{$\sim$AliHLTStopwatchGuard}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::$\sim${\bf Ali\-HLTStopwatch\-Guard} ()}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_a3}
+
+
+destructor 
+
+Definition at line 889 of file Ali\-HLTComponent.cxx.
+
+References fgp\-Current, fp\-Prec, fp\-Stopwatch, and Resume().
+
+\footnotesize\begin{verbatim}890 {
+891   // destructor
+892 
+893   // resume the preceeding guard if it controls a different stopwatch
+894   int bStop=1;
+895   if (fpPrec && fpPrec!=this) bStop=fpPrec->Resume(fpStopwatch);
+896 
+897   // stop the stopwatch if the current guard controls a different one
+898   if (fpStopwatch && bStop==1) fpStopwatch->Stop();
+899 
+900   // resume to the preceeding guard
+901   fgpCurrent=fpPrec;
+902 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!Hold@{Hold}}
+\index{Hold@{Hold}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::Hold (TStopwatch $\ast$ {\em p\-Succ})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_d0}
+
+
+Hold the previous guard for the existence of this guard. Checks whether this guard controls a new stopwatch. In that case, the previous guard and its stopwatch are put on hold. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Succ}]instance of the stopwatch of the new guard \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if p\-Succ is a different stopwatch which should be started\par
+ 0 if it controls the same stopwatch \end{Desc}
+
+
+Definition at line 904 of file Ali\-HLTComponent.cxx.
+
+References fp\-Stopwatch.
+
+Referenced by Ali\-HLTStopwatch\-Guard().
+
+\footnotesize\begin{verbatim}905 {
+906   // see header file for function documentation
+907   if (fpStopwatch!=NULL && fpStopwatch!=pSucc) fpStopwatch->Stop();
+908   return fpStopwatch!=pSucc?1:0;
+909 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!Resume@{Resume}}
+\index{Resume@{Resume}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::Resume (TStopwatch $\ast$ {\em p\-Succ})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_d1}
+
+
+Resume the previous guard. Checks whether the peceeding guard controls a different stopwatch. In that case, the its stopwatch is resumed. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Succ}]instance of the stopwatch of the new guard \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if p\-Succ is a different stopwatch which should be stopped\par
+ 0 if it controls the same stopwatch \end{Desc}
+
+
+Definition at line 911 of file Ali\-HLTComponent.cxx.
+
+References fp\-Stopwatch.
+
+Referenced by $\sim$Ali\-HLTStopwatch\-Guard().
+
+\footnotesize\begin{verbatim}912 {
+913   // see header file for function documentation
+914   if (fpStopwatch!=NULL && fpStopwatch!=pSucc) fpStopwatch->Start(kFALSE);
+915   return fpStopwatch!=pSucc?1:0;
+916 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!fgpCurrent@{fgpCurrent}}
+\index{fgpCurrent@{fgpCurrent}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard} $\ast$ {\bf Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::fgp\-Current} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_v0}
+
+
+transient 
+
+active stopwatch guard 
+
+Definition at line 887 of file Ali\-HLTComponent.cxx.
+
+Referenced by Ali\-HLTStopwatch\-Guard(), and $\sim$Ali\-HLTStopwatch\-Guard().\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!fpPrec@{fpPrec}}
+\index{fpPrec@{fpPrec}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTStopwatch\-Guard}$\ast$ {\bf Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::fp\-Prec}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_r1}
+
+
+transient 
+
+previous stopwatch guard, put on hold during existence of the guard 
+
+Definition at line 434 of file Ali\-HLTComponent.h.
+
+Referenced by Ali\-HLTStopwatch\-Guard(), and $\sim$Ali\-HLTStopwatch\-Guard().\index{AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}!fpStopwatch@{fpStopwatch}}
+\index{fpStopwatch@{fpStopwatch}!AliHLTComponent::AliHLTStopwatchGuard@{Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TStopwatch$\ast$ {\bf Ali\-HLTComponent::Ali\-HLTStopwatch\-Guard::fp\-Stopwatch}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTComponent_1_1AliHLTStopwatchGuard_r0}
+
+
+the stopwatch controlled by this guard 
+
+Definition at line 431 of file Ali\-HLTComponent.h.
+
+Referenced by Ali\-HLTStopwatch\-Guard(), Hold(), Resume(), and $\sim$Ali\-HLTStopwatch\-Guard().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTComponent.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTComponent.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTConfiguration.eps b/HLT/PHOS/latex/classAliHLTConfiguration.eps
new file mode 100644 (file)
index 0000000..0299e19
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 298.507
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.675 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTConfiguration) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTConfiguration) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTConfiguration.tex b/HLT/PHOS/latex/classAliHLTConfiguration.tex
new file mode 100644 (file)
index 0000000..d6c97fa
--- /dev/null
@@ -0,0 +1,925 @@
+\section{Ali\-HLTConfiguration Class Reference}
+\label{classAliHLTConfiguration}\index{AliHLTConfiguration@{AliHLTConfiguration}}
+{\tt \#include $<$Ali\-HLTConfiguration.h$>$}
+
+Inheritance diagram for Ali\-HLTConfiguration::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTConfiguration}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Description of HLT processing chains. 
+
+This class describes a certain configuration af an HLT processing step by the following parameters:\begin{itemize}
+\item a unique id string/name\item the id of the component\item the ids of the configurations it requires input from\item the arguments, which are passed to the component when it is initialized\end{itemize}
+
+
+The setup of a configuration requires simply the creation of a global object of {\bf Ali\-HLTConfiguration}{\rm (p.\,\pageref{classAliHLTConfiguration})}. The Configuration is automatically registered in the list of available configurations maintained by the {\bf Ali\-HLTConfiguration\-Handler}{\rm (p.\,\pageref{classAliHLTConfigurationHandler})}. The list is used by to resolve the dependencies on other configurations. Hierarchies can be built up in an easy way.
+
+A configuration is interpreted by the {\bf Ali\-HLTConfiguration\-Handler}{\rm (p.\,\pageref{classAliHLTConfigurationHandler})} and transformed into a Task List.
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 49 of file Ali\-HLTConfiguration.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTConfiguration} ()
+\item 
+{\bf Ali\-HLTConfiguration} (const char $\ast$id, const char $\ast$component, const char $\ast$sources, const char $\ast$arguments)
+\item 
+{\bf Ali\-HLTConfiguration} (const {\bf Ali\-HLTConfiguration} \&src)
+\item 
+{\bf Ali\-HLTConfiguration} \& {\bf operator=} (const {\bf Ali\-HLTConfiguration} \&src)
+\item 
+virtual {\bf $\sim$Ali\-HLTConfiguration} ()
+\item 
+const char $\ast$ {\bf Get\-Name} () const 
+\item 
+const char $\ast$ {\bf Get\-Component\-ID} () const 
+\item 
+void {\bf Print\-Status} ()
+\item 
+{\bf Ali\-HLTConfiguration} $\ast$ {\bf Get\-Source} (const char $\ast$id)
+\item 
+int {\bf Follow\-Dependency} (const char $\ast$id, TList $\ast$p\-Tgt\-List=NULL)
+\item 
+int {\bf Get\-Nof\-Sources} ()
+\item 
+int {\bf Sources\-Resolved} (int b\-Auto=0)
+\item 
+{\bf Ali\-HLTConfiguration} $\ast$ {\bf Get\-First\-Source} ()
+\item 
+{\bf Ali\-HLTConfiguration} $\ast$ {\bf Get\-Next\-Source} ()
+\item 
+int {\bf Invalidate\-Source} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf)
+\item 
+int {\bf Invalidate\-Sources} ()
+\item 
+int {\bf Get\-Arguments} (const char $\ast$$\ast$$\ast$p\-Argv)
+\end{CompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Global\-Init} ({\bf Ali\-HLTConfiguration\-Handler} $\ast$p\-Handler)
+\item 
+int {\bf Global\-Deinit} ({\bf Ali\-HLTConfiguration\-Handler} $\ast$p\-Handler)
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Extract\-Sources} ()
+\item 
+int {\bf Extract\-Arguments} ()
+\item 
+int {\bf Interprete\-String} (const char $\ast$arg, vector$<$ char $\ast$ $>$ \&arg\-List)
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTConfiguration}, 0)
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+TString {\bf f\-ID}
+\item 
+TString {\bf f\-Component}
+\item 
+TString {\bf f\-String\-Sources}
+\item 
+int {\bf f\-Nof\-Sources}
+\item 
+vector$<$ {\bf Ali\-HLTConfiguration} $\ast$ $>$ {\bf f\-List\-Sources}
+\item 
+vector$<$ {\bf Ali\-HLTConfiguration} $\ast$ $>$::iterator {\bf f\-List\-Src\-Element}
+\item 
+TString {\bf f\-Arguments}
+\item 
+int {\bf f\-Argc}
+\item 
+char $\ast$$\ast$ {\bf f\-Argv}
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\bf fg\-Configuration\-Handler} = NULL
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!AliHLTConfiguration@{AliHLTConfiguration}}
+\index{AliHLTConfiguration@{AliHLTConfiguration}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::Ali\-HLTConfiguration ()}\label{classAliHLTConfiguration_a0}
+
+
+standard constructor. The configuration is automatically registered in the global configuration manager \index{AliHLTConfiguration@{Ali\-HLTConfiguration}!AliHLTConfiguration@{AliHLTConfiguration}}
+\index{AliHLTConfiguration@{AliHLTConfiguration}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::Ali\-HLTConfiguration (const char $\ast$ {\em id}, const char $\ast$ {\em component}, const char $\ast$ {\em sources}, const char $\ast$ {\em arguments})}\label{classAliHLTConfiguration_a1}
+
+
+constructor. The configuration is automatically registered in the global configuration manager \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]unique id of the configuration \item[{\em component}]component id \item[{\em sources}]blank separated list of source configuration ids \item[{\em arguments}]argument string passed to the component at initialization \end{description}
+\end{Desc}
+
+
+Definition at line 57 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-Configuration\-Handler, f\-List\-Sources, f\-List\-Src\-Element, HLTError, and Ali\-HLTConfiguration\-Handler::Register\-Configuration().
+
+\footnotesize\begin{verbatim}58   :
+59   fID(id),
+60   fComponent(component),
+61   fStringSources(sources),
+62   fNofSources(-1),
+63   fListSources(),
+64   fListSrcElement(),
+65   fArguments(arguments),
+66   fArgc(-1),
+67   fArgv(NULL)
+68 {
+69   // see header file for function documentation
+70   fListSrcElement=fListSources.begin();
+71   if (id && component) {
+72     if (fgConfigurationHandler) {
+73       fgConfigurationHandler->RegisterConfiguration(this);
+74     } else {
+75       HLTError("no configuration handler set, abort registration");
+76     }
+77   }
+78 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!AliHLTConfiguration@{AliHLTConfiguration}}
+\index{AliHLTConfiguration@{AliHLTConfiguration}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::Ali\-HLTConfiguration (const {\bf Ali\-HLTConfiguration} \& {\em src})}\label{classAliHLTConfiguration_a2}
+
+
+copy constructor 
+
+Definition at line 80 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Sources, and f\-List\-Src\-Element.
+
+\footnotesize\begin{verbatim}81   :
+82   TObject(),
+83   AliHLTLogging(),
+84   fID(src.fID),
+85   fComponent(src.fComponent),
+86   fStringSources(src.fStringSources),
+87   fNofSources(-1),
+88   fListSources(),
+89   fListSrcElement(),
+90   fArguments(src.fArguments),
+91   fArgc(-1),
+92   fArgv(NULL)
+93 { 
+94   // see header file for function documentation
+95   fListSrcElement=fListSources.begin();
+96 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!~AliHLTConfiguration@{$\sim$AliHLTConfiguration}}
+\index{~AliHLTConfiguration@{$\sim$AliHLTConfiguration}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::$\sim${\bf Ali\-HLTConfiguration} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTConfiguration_a4}
+
+
+destructor 
+
+Definition at line 111 of file Ali\-HLTConfiguration.cxx.
+
+References f\-Argc, f\-Argv, fg\-Configuration\-Handler, f\-ID, Ali\-HLTConfiguration\-Handler::Find\-Configuration(), f\-List\-Sources, and Ali\-HLTConfiguration\-Handler::Remove\-Configuration().
+
+\footnotesize\begin{verbatim}112 {
+113   // see header file for function documentation
+114   if (fgConfigurationHandler) {
+115     if (fgConfigurationHandler->FindConfiguration(fID.Data())!=NULL) {
+116       fgConfigurationHandler->RemoveConfiguration(this);
+117     }
+118   }
+119   if (fArgv != NULL) {
+120     if (fArgc>0) {
+121       for (int i=0; i<fArgc; i++) {
+122         delete[] fArgv[i];
+123       }
+124     }
+125     delete[] fArgv;
+126     fArgv=NULL;
+127   }
+128 
+129   vector<AliHLTConfiguration*>::iterator element=fListSources.begin();
+130   while (element!=fListSources.end()) {
+131     fListSources.erase(element);
+132     element=fListSources.begin();
+133   }
+134 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration::Class\-Def ({\bf Ali\-HLTConfiguration}, 0)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_d3}
+
+
+transient 
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!ExtractArguments@{ExtractArguments}}
+\index{ExtractArguments@{ExtractArguments}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Extract\-Arguments ()\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_d1}
+
+
+
+
+Definition at line 326 of file Ali\-HLTConfiguration.cxx.
+
+References f\-Argc, f\-Arguments, f\-Argv, and Interprete\-String().
+
+Referenced by Get\-Arguments().
+
+\footnotesize\begin{verbatim}327 {
+328   // see header file for function documentation
+329   int iResult=0;
+330   if (!fArguments.IsNull()) {
+331     vector<char*> tgtList;
+332     if ((iResult=InterpreteString(fArguments, tgtList))>=0) {
+333       fArgc=tgtList.size();
+334       //HLTDebug("configuration %s: extracted %d arguments from \"%s\"", GetName(), fArgc, fArguments);
+335       if (fArgc>0) {
+336         fArgv = new char*[fArgc];
+337         if (fArgv) {
+338           vector<char*>::iterator element=tgtList.begin();
+339           int i=0;
+340           while (element!=tgtList.end()) {
+341             //HLTDebug("assign arguments %d (%s)", i, *element);
+342             fArgv[i++]=(*element);
+343             element++;
+344           }
+345         } else {
+346           iResult=-ENOMEM;
+347         }
+348       }
+349     }
+350   } else {
+351     // there are zero arguments
+352     fArgc=0;
+353   }
+354   return iResult;
+355 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!ExtractSources@{ExtractSources}}
+\index{ExtractSources@{ExtractSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Extract\-Sources ()\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_d0}
+
+
+
+
+Definition at line 292 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-Configuration\-Handler, Ali\-HLTConfiguration\-Handler::Find\-Configuration(), f\-List\-Sources, f\-List\-Src\-Element, f\-Nof\-Sources, f\-String\-Sources, HLTError, HLTFatal, and Interprete\-String().
+
+Referenced by Get\-First\-Source(), and Sources\-Resolved().
+
+\footnotesize\begin{verbatim}293 {
+294   // see header file for function documentation
+295   int iResult=0;
+296   fNofSources=0;
+297   if (!fStringSources.IsNull()) {
+298     vector<char*> tgtList;
+299     fListSources.clear();
+300     if ((iResult=InterpreteString(fStringSources.Data(), tgtList))>=0) {
+301       fNofSources=tgtList.size();
+302       vector<char*>::iterator element=tgtList.begin();
+303       while ((element=tgtList.begin())!=tgtList.end()) {
+304         if (fgConfigurationHandler) {
+305           AliHLTConfiguration* pConf=fgConfigurationHandler->FindConfiguration(*element);
+306           if (pConf) {
+307             //HLTDebug("configuration %s (%p): source \"%s\" (%p) inserted", GetName(), this, pConf->GetName(), pConf);
+308             fListSources.push_back(pConf);
+309           } else {
+310             HLTError("can not find source \"%s\"", (*element));
+311             iResult=-ENOENT;
+312           }
+313         } else if (iResult>=0) {
+314           iResult=-EFAULT;
+315           HLTFatal("global configuration handler not initialized, can not resolve sources");
+316         }
+317         delete[] (*element);
+318         tgtList.erase(element);
+319       }
+320       fListSrcElement=fListSources.begin();
+321     }
+322   }
+323   return iResult;
+324 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!FollowDependency@{FollowDependency}}
+\index{FollowDependency@{FollowDependency}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Follow\-Dependency (const char $\ast$ {\em id}, TList $\ast$ {\em p\-Tgt\-List} = {\tt NULL})}\label{classAliHLTConfiguration_a9}
+
+
+Try to find a dependency recursively in the list of sources. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]the source to search for \item[{\em p\-Tgt\-List}](optional) target list to receive the dependency tree \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 if not found n found in the n-th level dependency list in the target list \end{Desc}
+
+
+Definition at line 393 of file Ali\-HLTConfiguration.cxx.
+
+References Get\-First\-Source(), Get\-Next\-Source(), and Get\-Source().
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List(), and Ali\-HLTTask::Print\-Dependency\-Tree().
+
+\footnotesize\begin{verbatim}394 {
+395   // see header file for function documentation
+396   int iResult=0;
+397   if (id) {
+398     AliHLTConfiguration* pDep=NULL;
+399     if ((pDep=GetSource(id))!=NULL) {
+400       if (pTgtList) pTgtList->Add(pDep);
+401       iResult++;
+402     } else {
+403       pDep=GetFirstSource();
+404       while (pDep && iResult==0) {
+405         if ((iResult=pDep->FollowDependency(id, pTgtList))>0) {
+406           if (pTgtList) pTgtList->AddFirst(pDep);
+407           iResult++;
+408         }
+409         pDep=GetNextSource();
+410       }
+411     }
+412   } else {
+413     iResult=-EINVAL;
+414   }
+415   return iResult;
+416 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetArguments@{GetArguments}}
+\index{GetArguments@{GetArguments}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Get\-Arguments (const char $\ast$$\ast$$\ast$ {\em p\-Argv})}\label{classAliHLTConfiguration_a16}
+
+
+Get the arguments array. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Argv}]pointer to receive argument array pointer \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]argc if succeeded, neg. error code if failed \end{Desc}
+
+
+Definition at line 268 of file Ali\-HLTConfiguration.cxx.
+
+References Extract\-Arguments(), f\-Argc, Get\-Name(), and HLTError.
+
+Referenced by Ali\-HLTTask::Init().
+
+\footnotesize\begin{verbatim}269 {
+270   // see header file for function documentation
+271   int iResult=0;
+272   if (pArgv) {
+273     if (fArgc==-1) {
+274       if ((iResult=ExtractArguments())<0) {
+275         HLTError("error extracting arguments for configuration %s", GetName());
+276         fArgc=-EINVAL;
+277       }
+278     } else if (fArgc<0) {
+279       HLTError("previous argument extraction failed");
+280     }
+281     //HLTDebug("%s fArgc %d", GetName(), fArgc);
+282     iResult=fArgc;
+283     *pArgv=(const char**)fArgv;
+284   } else {
+285     HLTError("invalid parameter");
+286     iResult=-EINVAL;
+287   }
+288   return iResult;
+289 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetComponentID@{GetComponentID}}
+\index{GetComponentID@{GetComponentID}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Ali\-HLTConfiguration::Get\-Component\-ID () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTConfiguration_a6}
+
+
+Get id of the component. The id is a unique string. \begin{Desc}
+\item[Returns:]id of the component \end{Desc}
+
+
+Definition at line 104 of file Ali\-HLTConfiguration.h.
+
+Referenced by Ali\-HLTTask::Init().
+
+\footnotesize\begin{verbatim}104 {return fComponent;}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetFirstSource@{GetFirstSource}}
+\index{GetFirstSource@{GetFirstSource}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} $\ast$ Ali\-HLTConfiguration::Get\-First\-Source ()}\label{classAliHLTConfiguration_a12}
+
+
+Start iteration and get the first source. \begin{Desc}
+\item[Returns:]pointer to the first configuration descriptor \end{Desc}
+
+
+Definition at line 193 of file Ali\-HLTConfiguration.cxx.
+
+References Extract\-Sources(), f\-List\-Sources, f\-List\-Src\-Element, and f\-Nof\-Sources.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List(), Ali\-HLTTask::Check\-Dependencies(), Follow\-Dependency(), Get\-Source(), Ali\-HLTTask::Print\-Status(), and Print\-Status().
+
+\footnotesize\begin{verbatim}194 {
+195   // see header file for function documentation
+196   AliHLTConfiguration* pSrc=NULL;
+197   if (fNofSources>=0 || ExtractSources()) {
+198     fListSrcElement=fListSources.begin();
+199     if (fListSrcElement!=fListSources.end()) pSrc=*fListSrcElement;
+200   } 
+201   return pSrc;
+202 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetName@{GetName}}
+\index{GetName@{GetName}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTConfiguration::Get\-Name () const}\label{classAliHLTConfiguration_a5}
+
+
+Get configuration id, a unique name This is an overridden TObject function in order to return the configuration name instead of the class name. Enables use of TList standard functions. \begin{Desc}
+\item[Returns:]configuration id \end{Desc}
+
+
+Definition at line 163 of file Ali\-HLTConfiguration.cxx.
+
+References f\-ID.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List(), Ali\-HLTTask::Check\-Dependencies(), Get\-Arguments(), Ali\-HLTTask::Get\-Name(), Get\-Source(), Ali\-HLTTask::Init(), Ali\-HLTTask::Print\-Status(), Print\-Status(), Ali\-HLTConfiguration\-Handler::Register\-Configuration(), Ali\-HLTConfiguration\-Handler::Remove\-Configuration(), and Ali\-HLTConfiguration\-Handler::$\sim$Ali\-HLTConfiguration\-Handler().
+
+\footnotesize\begin{verbatim}164 {
+165   // see header file for function documentation
+166   if (!fID.IsNull())
+167     return fID.Data();
+168   return TObject::GetName();
+169 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetNextSource@{GetNextSource}}
+\index{GetNextSource@{GetNextSource}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} $\ast$ Ali\-HLTConfiguration::Get\-Next\-Source ()}\label{classAliHLTConfiguration_a13}
+
+
+Continue iteration and get the next source. \begin{Desc}
+\item[Returns:]pointer to the next configuration descriptor in the list \end{Desc}
+
+
+Definition at line 204 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Sources, f\-List\-Src\-Element, and f\-Nof\-Sources.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List(), Ali\-HLTTask::Check\-Dependencies(), Follow\-Dependency(), Get\-Source(), Ali\-HLTTask::Print\-Status(), and Print\-Status().
+
+\footnotesize\begin{verbatim}205 {
+206   // see header file for function documentation
+207   AliHLTConfiguration* pSrc=NULL;
+208   if (fNofSources>0) {
+209     if (fListSrcElement!=fListSources.end() && (++fListSrcElement)!=fListSources.end()) 
+210       pSrc=*fListSrcElement;
+211   } 
+212   return pSrc;
+213 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetNofSources@{GetNofSources}}
+\index{GetNofSources@{GetNofSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Get\-Nof\-Sources ()\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTConfiguration_a10}
+
+
+Get the number of resolved sources. \begin{Desc}
+\item[Returns:]number of resolved sources \end{Desc}
+
+
+Definition at line 134 of file Ali\-HLTConfiguration.h.
+
+References f\-List\-Sources.
+
+\footnotesize\begin{verbatim}134 {return fListSources.size();}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GetSource@{GetSource}}
+\index{GetSource@{GetSource}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} $\ast$ Ali\-HLTConfiguration::Get\-Source (const char $\ast$ {\em id})}\label{classAliHLTConfiguration_a8}
+
+
+Get a certain source. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]of the source configuration \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to the corresponding configuration descriptor \end{Desc}
+
+
+Definition at line 171 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Sources, f\-List\-Src\-Element, Get\-First\-Source(), Get\-Name(), and Get\-Next\-Source().
+
+Referenced by Ali\-HLTTask::Depends(), and Follow\-Dependency().
+
+\footnotesize\begin{verbatim}172 {
+173   // see header file for function documentation
+174   AliHLTConfiguration* pSrc=NULL;
+175   if (id) {
+176     // first check the current element
+177     if (fListSrcElement!=fListSources.end() && strcmp(id, (*fListSrcElement)->GetName())==0) {
+178       pSrc=*fListSrcElement;
+179       } else {
+180       // check the list
+181 
+182       pSrc=GetFirstSource();
+183       while (pSrc) {
+184         if (strcmp(id, pSrc->GetName())==0)
+185           break;
+186         pSrc=GetNextSource();
+187       }
+188     }
+189   }
+190   return pSrc;
+191 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GlobalDeinit@{GlobalDeinit}}
+\index{GlobalDeinit@{GlobalDeinit}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Global\-Deinit ({\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\em p\-Handler})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTConfiguration_e1}
+
+
+Global de-init and cleanup of the global configuration handler 
+
+Definition at line 151 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-Configuration\-Handler, HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD, k\-HLTLog\-Warning, and Ali\-HLTLogging::Logging().
+
+Referenced by Ali\-HLTSystem::$\sim$Ali\-HLTSystem().
+
+\footnotesize\begin{verbatim}152 {
+153   // see header file for function documentation
+154   int iResult=0;
+155   if (pHandler!=NULL && fgConfigurationHandler!=pHandler) {
+156     fgConfigurationHandler->Logging(kHLTLogWarning, "AliHLTConfiguration::GlobalDeinit", HLT_DEFAULT_LOG_KEYWORD, "handler %p is not set, skip ...", pHandler);
+157     return -EBADF;
+158   }
+159   fgConfigurationHandler=NULL;
+160   return iResult;
+161 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!GlobalInit@{GlobalInit}}
+\index{GlobalInit@{GlobalInit}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Global\-Init ({\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\em p\-Handler})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTConfiguration_e0}
+
+
+Global initialization of the configuration handler. 
+
+Definition at line 140 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-Configuration\-Handler, HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD, k\-HLTLog\-Warning, and Ali\-HLTLogging::Logging().
+
+Referenced by Class\-Imp().
+
+\footnotesize\begin{verbatim}141 {
+142   // see header file for function documentation
+143   int iResult=0;
+144   if (fgConfigurationHandler!=NULL) {
+145     fgConfigurationHandler->Logging(kHLTLogWarning, "AliHLTConfiguration::GlobalInit", HLT_DEFAULT_LOG_KEYWORD, "configuration handler already initialized, overriding object %p with %p", fgConfigurationHandler, pHandler);
+146   }
+147   fgConfigurationHandler=pHandler;
+148   return iResult;
+149 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!InterpreteString@{InterpreteString}}
+\index{InterpreteString@{InterpreteString}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Interprete\-String (const char $\ast$ {\em arg}, vector$<$ char $\ast$ $>$ \& {\em arg\-List})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_d2}
+
+
+Helper function to build a vector from an argument string \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em arg}]pointer to argument string \item[{\em arg\-List}]target to receive the argument list \end{description}
+\end{Desc}
+
+
+Definition at line 357 of file Ali\-HLTConfiguration.cxx.
+
+Referenced by Extract\-Arguments(), and Extract\-Sources().
+
+\footnotesize\begin{verbatim}358 {
+359   // see header file for function documentation
+360   int iResult=0;
+361   if (arg) {
+362     //HLTDebug("interprete \"%s\"", arg);
+363     int i=0;
+364     int prec=-1;
+365     int bQuote=0;
+366     do {
+367       //HLTDebug("%d %x", i, arg[i]);
+368       if (arg[i]=='\'' && bQuote==0) {
+369         bQuote=1;
+370       } else if (arg[i]==0 || 
+371                  (arg[i]==' ' && bQuote==0) ||
+372                  (arg[i]=='\'' && bQuote==1)) {
+373         bQuote=0;
+374         if (prec>=0) {
+375           char* pEntry= new char[i-prec+1];
+376           if (pEntry) {
+377             strncpy(pEntry, &arg[prec], i-prec);
+378             pEntry[i-prec]=0; // terminate string
+379             //HLTDebug("create string \"%s\", insert at %d", pEntry, argList.size());
+380             argList.push_back(pEntry);
+381           } else 
+382             iResult=-ENOMEM;
+383           prec=-1;
+384         }
+385       } else if (prec==-1) prec=i;
+386     } while (arg[i++]!=0 && iResult>=0); 
+387   } else {
+388     iResult=-EINVAL;
+389   }
+390   return iResult;
+391 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!InvalidateSource@{InvalidateSource}}
+\index{InvalidateSource@{InvalidateSource}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Invalidate\-Source ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf})}\label{classAliHLTConfiguration_a14}
+
+
+Invalidate a dependency and mark the configuration to be re-evaluted. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]pointer to configuration descriptor \end{description}
+\end{Desc}
+
+
+Definition at line 227 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Sources, and f\-List\-Src\-Element.
+
+Referenced by Ali\-HLTConfiguration\-Handler::Remove\-Configuration().
+
+\footnotesize\begin{verbatim}228 {
+229   // see header file for function documentation
+230   int iResult=0;
+231   if (pConf) {
+232     vector<AliHLTConfiguration*>::iterator element=fListSources.begin();
+233     while (element!=fListSources.end()) {
+234       if (*element==pConf) {
+235         fListSources.erase(element);
+236         fListSrcElement=fListSources.end();
+237         // there is no need to re-evaluate until there was a new configuration registered
+238         // -> postpone the invalidation, its done in AliHLTConfigurationHandler::RegisterConfiguration
+239         //InvalidateSources();
+240         break;
+241       }
+242       element++;
+243     }
+244   } else {
+245     iResult=-EINVAL;
+246   }
+247   return iResult;
+248 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!InvalidateSources@{InvalidateSources}}
+\index{InvalidateSources@{InvalidateSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Invalidate\-Sources ()\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTConfiguration_a15}
+
+
+Mark the configuration to be re-evaluted. 
+
+Definition at line 164 of file Ali\-HLTConfiguration.h.
+
+References f\-Nof\-Sources.
+
+Referenced by Ali\-HLTConfiguration\-Handler::Register\-Configuration(), and Ali\-HLTTask::Unset\-Dependency().
+
+\footnotesize\begin{verbatim}164 {fNofSources=-1; return 0;}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} \& Ali\-HLTConfiguration::operator= (const {\bf Ali\-HLTConfiguration} \& {\em src})}\label{classAliHLTConfiguration_a3}
+
+
+assignment op 
+
+Definition at line 98 of file Ali\-HLTConfiguration.cxx.
+
+References f\-Argc, f\-Arguments, f\-Argv, f\-Component, f\-ID, f\-Nof\-Sources, and f\-String\-Sources.
+
+\footnotesize\begin{verbatim}99 { 
+100   // see header file for function documentation
+101   fID=src.fID;
+102   fComponent=src.fComponent;
+103   fStringSources=src.fStringSources;
+104   fNofSources=-1;
+105   fArguments=src.fArguments;
+106   fArgc=-1;
+107   fArgv=NULL;
+108   return *this;
+109 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!PrintStatus@{PrintStatus}}
+\index{PrintStatus@{PrintStatus}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTConfiguration::Print\-Status ()}\label{classAliHLTConfiguration_a7}
+
+
+Print status info. Short summary on id, component, sources and unresolved sources. 
+
+Definition at line 250 of file Ali\-HLTConfiguration.cxx.
+
+References f\-Component, f\-String\-Sources, Get\-First\-Source(), Get\-Name(), Get\-Next\-Source(), HLTLog\-Keyword, HLTMessage, and Sources\-Resolved().
+
+\footnotesize\begin{verbatim}251 {
+252   // see header file for function documentation
+253   HLTLogKeyword("configuration status");
+254   HLTMessage("status of configuration \"%s\" (%p)", GetName(), this);
+255   if (!fComponent.IsNull()) HLTMessage("  - component: \"%s\"", fComponent.Data());
+256   else HLTMessage("  - component string invalid");
+257   if (!fStringSources.IsNull()) HLTMessage("  - sources: \"%s\"", fStringSources.Data());
+258   else HLTMessage("  - no sources");
+259   if (SourcesResolved(1)<=0)
+260     HLTMessage("    there are unresolved sources");
+261   AliHLTConfiguration* pSrc=GetFirstSource();
+262   while (pSrc) {
+263     HLTMessage("    source \"%s\" (%p) resolved", pSrc->GetName(), pSrc);
+264     pSrc=GetNextSource();
+265   }
+266 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!SourcesResolved@{SourcesResolved}}
+\index{SourcesResolved@{SourcesResolved}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration::Sources\-Resolved (int {\em b\-Auto} = {\tt 0})}\label{classAliHLTConfiguration_a11}
+
+
+Check resolving status. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em b\-Auto}]resolve if ==1 \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if all sources resolved \end{Desc}
+
+
+Definition at line 215 of file Ali\-HLTConfiguration.cxx.
+
+References Extract\-Sources(), f\-List\-Sources, and f\-Nof\-Sources.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List(), Print\-Status(), and Ali\-HLTConfiguration\-Handler::Register\-Configuration().
+
+\footnotesize\begin{verbatim}216 {
+217   // see header file for function documentation
+218   int iResult=0;
+219   if (fNofSources>=0 || bAuto && (iResult=ExtractSources())>=0) {
+220     //HLTDebug("fNofSources=%d", fNofSources);
+221     //HLTDebug("list size = %d", fListSources.size());
+222     iResult=fNofSources==(int)fListSources.size();
+223   }
+224   return iResult;
+225 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fArgc@{fArgc}}
+\index{fArgc@{fArgc}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTConfiguration::f\-Argc}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r7}
+
+
+number of arguments 
+
+Definition at line 214 of file Ali\-HLTConfiguration.h.
+
+Referenced by Extract\-Arguments(), Get\-Arguments(), operator=(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fArguments@{fArguments}}
+\index{fArguments@{fArguments}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TString {\bf Ali\-HLTConfiguration::f\-Arguments}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r6}
+
+
+The argument string as passed to the constructor. Specifies the arguments for the Analysys component. The string will be parsed and the separated arguments stored in the {\bf f\-Argv}{\rm (p.\,\pageref{classAliHLTConfiguration_r8})} array and {\bf f\-Argc}{\rm (p.\,\pageref{classAliHLTConfiguration_r7})} member. 
+
+Definition at line 212 of file Ali\-HLTConfiguration.h.
+
+Referenced by Extract\-Arguments(), and operator=().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fArgv@{fArgv}}
+\index{fArgv@{fArgv}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$$\ast$ {\bf Ali\-HLTConfiguration::f\-Argv}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r8}
+
+
+argument array 
+
+Definition at line 216 of file Ali\-HLTConfiguration.h.
+
+Referenced by Extract\-Arguments(), operator=(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fComponent@{fComponent}}
+\index{fComponent@{fComponent}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TString {\bf Ali\-HLTConfiguration::f\-Component}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r1}
+
+
+component id of this configuration 
+
+Definition at line 195 of file Ali\-HLTConfiguration.h.
+
+Referenced by operator=(), and Print\-Status().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fgConfigurationHandler@{fgConfigurationHandler}}
+\index{fgConfigurationHandler@{fgConfigurationHandler}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\bf Ali\-HLTConfiguration::fg\-Configuration\-Handler} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTConfiguration_v0}
+
+
+the instance of the global configuration handler 
+
+Definition at line 138 of file Ali\-HLTConfiguration.cxx.
+
+Referenced by Ali\-HLTConfiguration(), Extract\-Sources(), Global\-Deinit(), Global\-Init(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fID@{fID}}
+\index{fID@{fID}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TString {\bf Ali\-HLTConfiguration::f\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r0}
+
+
+id of this configuration 
+
+Definition at line 193 of file Ali\-HLTConfiguration.h.
+
+Referenced by Get\-Name(), operator=(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fListSources@{fListSources}}
+\index{fListSources@{fListSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTConfiguration}$\ast$$>$ {\bf Ali\-HLTConfiguration::f\-List\-Sources}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r4}
+
+
+list of sources 
+
+Definition at line 202 of file Ali\-HLTConfiguration.h.
+
+Referenced by Ali\-HLTConfiguration(), Extract\-Sources(), Get\-First\-Source(), Get\-Next\-Source(), Get\-Nof\-Sources(), Get\-Source(), Invalidate\-Source(), Sources\-Resolved(), and $\sim$Ali\-HLTConfiguration().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fListSrcElement@{fListSrcElement}}
+\index{fListSrcElement@{fListSrcElement}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTConfiguration}$\ast$$>$::iterator {\bf Ali\-HLTConfiguration::f\-List\-Src\-Element}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r5}
+
+
+iterator for the above list 
+
+Definition at line 204 of file Ali\-HLTConfiguration.h.
+
+Referenced by Ali\-HLTConfiguration(), Extract\-Sources(), Get\-First\-Source(), Get\-Next\-Source(), Get\-Source(), and Invalidate\-Source().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fNofSources@{fNofSources}}
+\index{fNofSources@{fNofSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTConfiguration::f\-Nof\-Sources}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r3}
+
+
+number of resolved sources, -1 indicates re-evaluation 
+
+Definition at line 200 of file Ali\-HLTConfiguration.h.
+
+Referenced by Extract\-Sources(), Get\-First\-Source(), Get\-Next\-Source(), Invalidate\-Sources(), operator=(), and Sources\-Resolved().\index{AliHLTConfiguration@{Ali\-HLTConfiguration}!fStringSources@{fStringSources}}
+\index{fStringSources@{fStringSources}!AliHLTConfiguration@{Ali\-HLTConfiguration}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TString {\bf Ali\-HLTConfiguration::f\-String\-Sources}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfiguration_r2}
+
+
+the {\em sources\/} string as passed to the constructor 
+
+Definition at line 198 of file Ali\-HLTConfiguration.h.
+
+Referenced by Extract\-Sources(), operator=(), and Print\-Status().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConfiguration.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConfiguration.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTConfigurationHandler.eps b/HLT/PHOS/latex/classAliHLTConfigurationHandler.eps
new file mode 100644 (file)
index 0000000..e04e194
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 223.464
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.2375 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTConfigurationHandler) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTConfigurationHandler) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTConfigurationHandler.tex b/HLT/PHOS/latex/classAliHLTConfigurationHandler.tex
new file mode 100644 (file)
index 0000000..331834c
--- /dev/null
@@ -0,0 +1,328 @@
+\section{Ali\-HLTConfiguration\-Handler Class Reference}
+\label{classAliHLTConfigurationHandler}\index{AliHLTConfigurationHandler@{AliHLTConfigurationHandler}}
+{\tt \#include $<$Ali\-HLTConfiguration\-Handler.h$>$}
+
+Inheritance diagram for Ali\-HLTConfiguration\-Handler::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTConfigurationHandler}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Global Handling of HLT configurations. 
+
+This class implements the global handling of {\bf Ali\-HLTConfiguration}{\rm (p.\,\pageref{classAliHLTConfiguration})} objects. It is a list of all configuartion descriptor currently available in the system. Each {\bf Ali\-HLTConfiguration}{\rm (p.\,\pageref{classAliHLTConfiguration})} object is registerd automatically with the handler and put into the list.
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 31 of file Ali\-HLTConfiguration\-Handler.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTConfiguration\-Handler} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTConfiguration\-Handler} ()
+\item 
+int {\bf Register\-Configuration} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf)
+\item 
+int {\bf Create\-Configuration} (const char $\ast$id, const char $\ast$component, const char $\ast$sources, const char $\ast$arguments)
+\item 
+int {\bf Remove\-Configuration} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf)
+\item 
+int {\bf Remove\-Configuration} (const char $\ast$id)
+\item 
+{\bf Ali\-HLTConfiguration} $\ast$ {\bf Find\-Configuration} (const char $\ast$id)
+\item 
+void {\bf Print\-Configurations} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTConfiguration\-Handler}, 1)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+TList {\bf fg\-List\-Configurations}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!AliHLTConfigurationHandler@{AliHLTConfigurationHandler}}
+\index{AliHLTConfigurationHandler@{AliHLTConfigurationHandler}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration\-Handler::Ali\-HLTConfiguration\-Handler ()}\label{classAliHLTConfigurationHandler_a0}
+
+
+standard constructor \index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!~AliHLTConfigurationHandler@{$\sim$AliHLTConfigurationHandler}}
+\index{~AliHLTConfigurationHandler@{$\sim$AliHLTConfigurationHandler}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration\-Handler::$\sim${\bf Ali\-HLTConfiguration\-Handler} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTConfigurationHandler_a1}
+
+
+destructor 
+
+Definition at line 1076 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-List\-Configurations, Ali\-HLTConfiguration::Get\-Name(), and HLTDebug.
+
+\footnotesize\begin{verbatim}1077 {
+1078   // see header file for function documentation
+1079   TObjLink* lnk=NULL;
+1080   while (lnk=fgListConfigurations.FirstLink()) {
+1081     AliHLTConfiguration* pConf=(AliHLTConfiguration*)lnk->GetObject();
+1082     HLTDebug("delete configuration \"%s\"", pConf->GetName());
+1083     fgListConfigurations.Remove(lnk);
+1084     delete pConf;
+1085   }
+1086 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConfiguration\-Handler::Class\-Def ({\bf Ali\-HLTConfiguration\-Handler}, 1)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfigurationHandler_d0}
+
+
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!CreateConfiguration@{CreateConfiguration}}
+\index{CreateConfiguration@{CreateConfiguration}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration\-Handler::Create\-Configuration (const char $\ast$ {\em id}, const char $\ast$ {\em component}, const char $\ast$ {\em sources}, const char $\ast$ {\em arguments})}\label{classAliHLTConfigurationHandler_a3}
+
+
+Create a configuration and register it. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]\item[{\em component}]\item[{\em sources}]\item[{\em arguments}]\end{description}
+\end{Desc}
+
+
+Definition at line 1117 of file Ali\-HLTConfiguration.cxx.
+
+References Find\-Configuration(), and HLTError.
+
+\footnotesize\begin{verbatim}1118 {
+1119   // see header file for function documentation
+1120   int iResult=0;
+1121   AliHLTConfiguration* pConf= new AliHLTConfiguration(id, component, sources, arguments);
+1122   if (pConf) {
+1123     // the configuration will be registered automatically, if this failes the configuration
+1124     // is missing -> delete it
+1125     if (FindConfiguration(id)==NULL) {
+1126       delete pConf;
+1127       pConf=NULL;
+1128       iResult=-EEXIST;
+1129     }
+1130   } else {
+1131     HLTError("system error: object allocation failed");
+1132     iResult=-ENOMEM;
+1133   }
+1134   return iResult;
+1135 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!FindConfiguration@{FindConfiguration}}
+\index{FindConfiguration@{FindConfiguration}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} $\ast$ Ali\-HLTConfiguration\-Handler::Find\-Configuration (const char $\ast$ {\em id})}\label{classAliHLTConfigurationHandler_a6}
+
+
+Find a configuration from the global list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]Id of the configuration to find \end{description}
+\end{Desc}
+
+
+Definition at line 1193 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-List\-Configurations.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List(), Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), Create\-Configuration(), Ali\-HLTConfiguration::Extract\-Sources(), Register\-Configuration(), Remove\-Configuration(), and Ali\-HLTConfiguration::$\sim$Ali\-HLTConfiguration().
+
+\footnotesize\begin{verbatim}1194 {
+1195   // see header file for function documentation
+1196   AliHLTConfiguration* pConf=NULL;
+1197   if (id) {
+1198     pConf=(AliHLTConfiguration*)fgListConfigurations.FindObject(id); 
+1199   }
+1200   return pConf;
+1201 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!PrintConfigurations@{PrintConfigurations}}
+\index{PrintConfigurations@{PrintConfigurations}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTConfiguration\-Handler::Print\-Configurations ()}\label{classAliHLTConfigurationHandler_a7}
+
+
+Print the registered configurations to the logging function. 
+
+Definition at line 1137 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-List\-Configurations, HLTLog\-Keyword, and HLTMessage.
+
+\footnotesize\begin{verbatim}1138 {
+1139   // see header file for function documentation
+1140   HLTLogKeyword("configuration listing");
+1141   HLTMessage("registered configurations:");
+1142   TObjLink *lnk = fgListConfigurations.FirstLink();
+1143   while (lnk) {
+1144     TObject *obj = lnk->GetObject();
+1145     HLTMessage("  %s", obj->GetName());
+1146     lnk = lnk->Next();
+1147   }
+1148 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!RegisterConfiguration@{RegisterConfiguration}}
+\index{RegisterConfiguration@{RegisterConfiguration}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration\-Handler::Register\-Configuration ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf})}\label{classAliHLTConfigurationHandler_a2}
+
+
+Register a configuration to the global list of configurations. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]The configuration to register \end{description}
+\end{Desc}
+
+
+Definition at line 1088 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-List\-Configurations, Find\-Configuration(), Ali\-HLTConfiguration::Get\-Name(), HLTDebug, HLTWarning, Ali\-HLTConfiguration::Invalidate\-Sources(), and Ali\-HLTConfiguration::Sources\-Resolved().
+
+Referenced by Ali\-HLTConfiguration::Ali\-HLTConfiguration().
+
+\footnotesize\begin{verbatim}1089 {
+1090   // see header file for function documentation
+1091   int iResult=0;
+1092   if (pConf) {
+1093     if (FindConfiguration(pConf->GetName()) == NULL) {
+1094       AliHLTConfiguration* pClone=new AliHLTConfiguration(*pConf);
+1095       fgListConfigurations.Add(pClone);
+1096       HLTDebug("configuration \"%s\" (%p) registered from %p", pClone->GetName(), pClone, pConf);
+1097 
+1098       // mark all configurations with unresolved dependencies for re-evaluation
+1099       TObjLink* lnk=fgListConfigurations.FirstLink();
+1100       while (lnk) {
+1101         AliHLTConfiguration* pSrc=(AliHLTConfiguration*)lnk->GetObject();
+1102         if (pSrc && pSrc!=pClone && pSrc->SourcesResolved()!=1) {
+1103           pSrc->InvalidateSources();
+1104         }
+1105         lnk=lnk->Next();
+1106       }
+1107     } else {
+1108       iResult=-EEXIST;
+1109       HLTWarning("configuration \"%s\" already registered", pConf->GetName());
+1110     }
+1111   } else {
+1112     iResult=-EINVAL;
+1113   }
+1114   return iResult;
+1115 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!RemoveConfiguration@{RemoveConfiguration}}
+\index{RemoveConfiguration@{RemoveConfiguration}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration\-Handler::Remove\-Configuration (const char $\ast$ {\em id})}\label{classAliHLTConfigurationHandler_a5}
+
+
+Remove a configuration from the global list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]The configuration to remove \end{description}
+\end{Desc}
+
+
+Definition at line 1150 of file Ali\-HLTConfiguration.cxx.
+
+References Find\-Configuration(), HLTWarning, and Remove\-Configuration().
+
+\footnotesize\begin{verbatim}1151 {
+1152   // see header file for function documentation
+1153   int iResult=0;
+1154   if (id) {
+1155     AliHLTConfiguration* pConf=NULL;
+1156     if ((pConf=FindConfiguration(id))!=NULL) {
+1157       iResult=RemoveConfiguration(pConf);
+1158       delete pConf;
+1159       pConf=NULL;
+1160     } else {
+1161       HLTWarning("can not find configuration \"%s\"", id);
+1162       iResult=-ENOENT;
+1163     }
+1164   } else {
+1165     iResult=-EINVAL;
+1166   }
+1167   return iResult;
+1168 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!RemoveConfiguration@{RemoveConfiguration}}
+\index{RemoveConfiguration@{RemoveConfiguration}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConfiguration\-Handler::Remove\-Configuration ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf})}\label{classAliHLTConfigurationHandler_a4}
+
+
+Remove a configuration from the global list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]The configuration to remove \end{description}
+\end{Desc}
+
+
+Definition at line 1170 of file Ali\-HLTConfiguration.cxx.
+
+References fg\-List\-Configurations, Ali\-HLTConfiguration::Get\-Name(), HLTDebug, and Ali\-HLTConfiguration::Invalidate\-Source().
+
+Referenced by Remove\-Configuration(), and Ali\-HLTConfiguration::$\sim$Ali\-HLTConfiguration().
+
+\footnotesize\begin{verbatim}1171 {
+1172   // see header file for function documentation
+1173   int iResult=0;
+1174   if (pConf) {
+1175     // remove the configuration from the list
+1176     HLTDebug("remove configuration \"%s\"", pConf->GetName());
+1177     fgListConfigurations.Remove(pConf);
+1178     // remove cross links in the remaining configurations
+1179     TObjLink* lnk=fgListConfigurations.FirstLink();
+1180     while (lnk && iResult>=0) {
+1181       AliHLTConfiguration* pRem=(AliHLTConfiguration*)lnk->GetObject();
+1182       if (pRem) {
+1183         pRem->InvalidateSource(pConf);
+1184       } else {
+1185         iResult=-EFAULT;
+1186       }
+1187       lnk=lnk->Next();
+1188     }
+1189   }
+1190   return iResult;
+1191 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}!fgListConfigurations@{fgListConfigurations}}
+\index{fgListConfigurations@{fgListConfigurations}!AliHLTConfigurationHandler@{Ali\-HLTConfiguration\-Handler}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TList {\bf Ali\-HLTConfiguration\-Handler::fg\-List\-Configurations}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConfigurationHandler_r0}
+
+
+the list of registered configurations 
+
+Definition at line 86 of file Ali\-HLTConfiguration\-Handler.h.
+
+Referenced by Find\-Configuration(), Print\-Configurations(), Register\-Configuration(), Remove\-Configuration(), and $\sim$Ali\-HLTConfiguration\-Handler().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConfiguration\-Handler.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConfiguration.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTConsumerDescriptor.eps b/HLT/PHOS/latex/classAliHLTConsumerDescriptor.eps
new file mode 100644 (file)
index 0000000..97f1408
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 229.885
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.175 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTConsumerDescriptor) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTConsumerDescriptor) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTConsumerDescriptor.tex b/HLT/PHOS/latex/classAliHLTConsumerDescriptor.tex
new file mode 100644 (file)
index 0000000..6a90f95
--- /dev/null
@@ -0,0 +1,329 @@
+\section{Ali\-HLTConsumer\-Descriptor Class Reference}
+\label{classAliHLTConsumerDescriptor}\index{AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}}
+{\tt \#include $<$Ali\-HLTConsumer\-Descriptor.h$>$}
+
+Inheritance diagram for Ali\-HLTConsumer\-Descriptor::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTConsumerDescriptor}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Helper class to describe a consumer component. 
+
+There is unfortunately no unique determination of the data type from the component itself possible, thats why both component and data type have to be initialized and are stored in a compound. The class is intended to make bookkeeping easier.
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 30 of file Ali\-HLTConsumer\-Descriptor.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTConsumer\-Descriptor} ()
+\item 
+{\bf Ali\-HLTConsumer\-Descriptor} ({\bf Ali\-HLTComponent} $\ast$p\-Consumer)
+\item 
+{\bf Ali\-HLTConsumer\-Descriptor} (const {\bf Ali\-HLTConsumer\-Descriptor} \&)
+\item 
+{\bf Ali\-HLTConsumer\-Descriptor} \& {\bf operator=} (const {\bf Ali\-HLTConsumer\-Descriptor} \&)
+\item 
+{\bf $\sim$Ali\-HLTConsumer\-Descriptor} ()
+\item 
+{\bf Ali\-HLTComponent} $\ast$ {\bf Get\-Component} ()
+\item 
+int {\bf Set\-Active\-Data\-Segment} ({\bf Ali\-HLTUInt32\_\-t} offset, {\bf Ali\-HLTUInt32\_\-t} size)
+\item 
+int {\bf Check\-Active\-Data\-Segment} ({\bf Ali\-HLTUInt32\_\-t} offset, {\bf Ali\-HLTUInt32\_\-t} size)
+\item 
+int {\bf Get\-Nof\-Active\-Segments} ()
+\item 
+int {\bf Release\-Active\-Data\-Segment} ({\bf Ali\-HLTUInt32\_\-t} offset, {\bf Ali\-HLTUInt32\_\-t} size)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent} $\ast$ {\bf fp\-Consumer}
+\item 
+vector$<$ {\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment} $>$ {\bf f\-Segments}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}}
+\index{AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConsumer\-Descriptor::Ali\-HLTConsumer\-Descriptor ()}\label{classAliHLTConsumerDescriptor_a0}
+
+
+standard constructur \index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}}
+\index{AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConsumer\-Descriptor::Ali\-HLTConsumer\-Descriptor ({\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer})}\label{classAliHLTConsumerDescriptor_a1}
+
+
+constructur \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer}]pointer to the consumer component \end{description}
+\end{Desc}
+
+
+Definition at line 46 of file Ali\-HLTConsumer\-Descriptor.cxx.
+
+References f\-Segments.
+
+\footnotesize\begin{verbatim}47   :
+48   fpConsumer(pConsumer),
+49   fSegments()
+50 {
+51   // see header file for function documentation
+52   fSegments.clear();
+53 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}}
+\index{AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConsumer\-Descriptor::Ali\-HLTConsumer\-Descriptor (const {\bf Ali\-HLTConsumer\-Descriptor} \&)}\label{classAliHLTConsumerDescriptor_a2}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 55 of file Ali\-HLTConsumer\-Descriptor.cxx.
+
+\footnotesize\begin{verbatim}56   :
+57   TObject(),
+58   AliHLTLogging(),
+59   fpConsumer(desc.fpConsumer),
+60   fSegments()
+61 {
+62   // see header file for function documentation
+63 
+64   // we can simply transfer the pointer to th new object since there are no
+65   // release actions in the destructor
+66 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!~AliHLTConsumerDescriptor@{$\sim$AliHLTConsumerDescriptor}}
+\index{~AliHLTConsumerDescriptor@{$\sim$AliHLTConsumerDescriptor}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTConsumer\-Descriptor::$\sim${\bf Ali\-HLTConsumer\-Descriptor} ()}\label{classAliHLTConsumerDescriptor_a4}
+
+
+destructor 
+
+Definition at line 78 of file Ali\-HLTConsumer\-Descriptor.cxx.
+
+References f\-Segments.
+
+\footnotesize\begin{verbatim}79 {
+80   // see header file for function documentation
+81   if (fSegments.size()>0) {
+82     //HLTWarning("unreleased data segments found");
+83   }
+84 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!CheckActiveDataSegment@{CheckActiveDataSegment}}
+\index{CheckActiveDataSegment@{CheckActiveDataSegment}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConsumer\-Descriptor::Check\-Active\-Data\-Segment ({\bf Ali\-HLTUInt32\_\-t} {\em offset}, {\bf Ali\-HLTUInt32\_\-t} {\em size})}\label{classAliHLTConsumerDescriptor_a7}
+
+
+Check whether there is an active data segment of certain size with certain offset. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em offset}]offset of the data segment in the data buffer \item[{\em size}]size of the data segment in the data buffer \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]$>$ if existend, 0 if not \end{Desc}
+
+
+Definition at line 96 of file Ali\-HLTConsumer\-Descriptor.cxx.
+
+References f\-Segments.
+
+Referenced by Ali\-HLTData\-Buffer::Release().
+
+\footnotesize\begin{verbatim}97 {
+98   // see header file for function documentation
+99   int iResult=0;
+100   if (fSegments.size()>0) {
+101     vector<AliHLTDataBuffer::AliHLTDataSegment>::iterator segment=fSegments.begin();
+102     while (segment!=fSegments.end()) {
+103       if ((iResult=((*segment).fSegmentOffset==offset && (*segment).fSegmentSize==size))>0) {
+104         break;
+105       }
+106       segment++;
+107     }
+108   } else {
+109     //HLTWarning("no data segment active for consumer %p", this);
+110     iResult=-ENODATA;
+111   }
+112   return iResult;
+113 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!GetComponent@{GetComponent}}
+\index{GetComponent@{GetComponent}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent}$\ast$ Ali\-HLTConsumer\-Descriptor::Get\-Component ()\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTConsumerDescriptor_a5}
+
+
+Get the component of this descriptor. \begin{Desc}
+\item[Returns:]pointer to the component \end{Desc}
+
+
+Definition at line 49 of file Ali\-HLTConsumer\-Descriptor.h.
+
+\footnotesize\begin{verbatim}49 {return fpConsumer;}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!GetNofActiveSegments@{GetNofActiveSegments}}
+\index{GetNofActiveSegments@{GetNofActiveSegments}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConsumer\-Descriptor::Get\-Nof\-Active\-Segments ()\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTConsumerDescriptor_a8}
+
+
+get the number of active segments for this consumer \begin{Desc}
+\item[Returns:]number of active segments \end{Desc}
+
+
+Definition at line 81 of file Ali\-HLTConsumer\-Descriptor.h.
+
+References f\-Segments.
+
+Referenced by Ali\-HLTData\-Buffer::Release().
+
+\footnotesize\begin{verbatim}81 {return fSegments.size();};
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConsumer\-Descriptor} \& Ali\-HLTConsumer\-Descriptor::operator= (const {\bf Ali\-HLTConsumer\-Descriptor} \&)}\label{classAliHLTConsumerDescriptor_a3}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 68 of file Ali\-HLTConsumer\-Descriptor.cxx.
+
+References fp\-Consumer.
+
+\footnotesize\begin{verbatim}69 { 
+70   // see header file for function documentation
+71 
+72   // we can simply transfer the pointer to th new object since there are no
+73   // release actions in the destructor
+74   fpConsumer=desc.fpConsumer;
+75   return *this;
+76 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!ReleaseActiveDataSegment@{ReleaseActiveDataSegment}}
+\index{ReleaseActiveDataSegment@{ReleaseActiveDataSegment}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConsumer\-Descriptor::Release\-Active\-Data\-Segment ({\bf Ali\-HLTUInt32\_\-t} {\em offset}, {\bf Ali\-HLTUInt32\_\-t} {\em size})}\label{classAliHLTConsumerDescriptor_a9}
+
+
+
+
+Definition at line 115 of file Ali\-HLTConsumer\-Descriptor.cxx.
+
+References f\-Segments.
+
+Referenced by Ali\-HLTData\-Buffer::Release().
+
+\footnotesize\begin{verbatim}116 {
+117   // see header file for function documentation
+118   int iResult=0;
+119   if (fSegments.size()>0) {
+120     vector<AliHLTDataBuffer::AliHLTDataSegment>::iterator segment=fSegments.begin();
+121     while (segment!=fSegments.end()) {
+122       if ((iResult=((*segment).fSegmentOffset==offset && (*segment).fSegmentSize==size))>0) {
+123         fSegments.erase(segment);
+124         break;
+125       }
+126       segment++;
+127     }
+128     if (iResult==0) {
+129       //HLTWarning("no data segment (%d:%d) active for consumer %p", offset, size, this);
+130       iResult=-ENOENT;
+131     }
+132   } else {
+133     //HLTWarning("no data segment active for consumer %p", this);
+134     iResult=-ENODATA;
+135   }
+136   return iResult;
+137 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!SetActiveDataSegment@{SetActiveDataSegment}}
+\index{SetActiveDataSegment@{SetActiveDataSegment}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTConsumer\-Descriptor::Set\-Active\-Data\-Segment ({\bf Ali\-HLTUInt32\_\-t} {\em offset}, {\bf Ali\-HLTUInt32\_\-t} {\em size})}\label{classAliHLTConsumerDescriptor_a6}
+
+
+Set an active data segment. the pointer will be handled in a container, no allocation, copy or cleanup. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em offset}]offset of the segment in the buffer \item[{\em size}]size of the segment in the buffer \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]$>$=0 if succeeded \end{Desc}
+
+
+Definition at line 86 of file Ali\-HLTConsumer\-Descriptor.cxx.
+
+References f\-Segments.
+
+Referenced by Ali\-HLTData\-Buffer::Subscribe().
+
+\footnotesize\begin{verbatim}87 {
+88   // see header file for function documentation
+89   int iResult=0;
+90   AliHLTDataBuffer::AliHLTDataSegment segment(offset, size);
+91   fSegments.push_back(segment);
+92   //HLTDebug("set active segment (%d:%d) for consumer %p", offset, size, this);
+93   return iResult;
+94 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!fpConsumer@{fpConsumer}}
+\index{fpConsumer@{fpConsumer}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent}$\ast$ {\bf Ali\-HLTConsumer\-Descriptor::fp\-Consumer}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConsumerDescriptor_r0}
+
+
+consumer object 
+
+Definition at line 89 of file Ali\-HLTConsumer\-Descriptor.h.
+
+Referenced by operator=().\index{AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}!fSegments@{fSegments}}
+\index{fSegments@{fSegments}!AliHLTConsumerDescriptor@{Ali\-HLTConsumer\-Descriptor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}$>$ {\bf Ali\-HLTConsumer\-Descriptor::f\-Segments}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTConsumerDescriptor_r1}
+
+
+transient 
+
+list of data segments 
+
+Definition at line 92 of file Ali\-HLTConsumer\-Descriptor.h.
+
+Referenced by Ali\-HLTConsumer\-Descriptor(), Check\-Active\-Data\-Segment(), Get\-Nof\-Active\-Segments(), Release\-Active\-Data\-Segment(), Set\-Active\-Data\-Segment(), and $\sim$Ali\-HLTConsumer\-Descriptor().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConsumer\-Descriptor.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConsumer\-Descriptor.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTDataBuffer.eps b/HLT/PHOS/latex/classAliHLTDataBuffer.eps
new file mode 100644 (file)
index 0000000..a340e87
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 336.134
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.4875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTDataBuffer) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTDataBuffer) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTDataBuffer.tex b/HLT/PHOS/latex/classAliHLTDataBuffer.tex
new file mode 100644 (file)
index 0000000..dd0cb52
--- /dev/null
@@ -0,0 +1,1158 @@
+\section{Ali\-HLTData\-Buffer Class Reference}
+\label{classAliHLTDataBuffer}\index{AliHLTDataBuffer@{AliHLTDataBuffer}}
+{\tt \#include $<$Ali\-HLTData\-Buffer.h$>$}
+
+Inheritance diagram for Ali\-HLTData\-Buffer::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTDataBuffer}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Handling of data buffers for the HLT. 
+
+The class provides handling of data buffers for HLT tasks. Each task gets its own Data Buffer instance. The buffer is grouped into different data segments according to the output of the component.\par
+ The Data Buffer keeps control over the data requests of the 'child' components. Each component can subscribe to a certain segment of the data buffer. It's state is then changed from 'reserved' to 'active'. After the data processing, the component has to release the segment and it's state is set to 'processed'. If all components have requested and released their data, the Raw Buffer is released and pushed back in the list of available buffers.
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 41 of file Ali\-HLTData\-Buffer.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTData\-Buffer} ()
+\item 
+{\bf Ali\-HLTData\-Buffer} (const {\bf Ali\-HLTData\-Buffer} \&)
+\item 
+{\bf Ali\-HLTData\-Buffer} \& {\bf operator=} (const {\bf Ali\-HLTData\-Buffer} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTData\-Buffer} ()
+\item 
+int {\bf Set\-Consumer} ({\bf Ali\-HLTComponent} $\ast$p\-Consumer)
+\item 
+int {\bf Find\-Matching\-Data\-Blocks} (const {\bf Ali\-HLTComponent} $\ast$p\-Consumer, vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ $\ast$tgt\-List=NULL)
+\item 
+int {\bf Subscribe} (const {\bf Ali\-HLTComponent} $\ast$p\-Consumer, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$array\-Block\-Desc, int i\-Array\-Size)
+\item 
+int {\bf Release} ({\bf Ali\-HLTComponent\-Block\-Data} $\ast$p\-Block\-Desc, const {\bf Ali\-HLTComponent} $\ast$p\-Consumer)
+\item 
+{\bf Ali\-HLTUInt8\_\-t} $\ast$ {\bf Get\-Target\-Buffer} (int i\-Min\-Size)
+\item 
+int {\bf Set\-Segments} ({\bf Ali\-HLTUInt8\_\-t} $\ast$p\-Tgt, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$array\-Segments, int i\-Size)
+\item 
+int {\bf Is\-Empty} ()
+\item 
+int {\bf Get\-Nof\-Segments} ()
+\item 
+int {\bf Get\-Nof\-Consumers} ()
+\item 
+int {\bf Get\-Nof\-Active\-Consumers} ()
+\item 
+int {\bf Find\-Consumer} ({\bf Ali\-HLTComponent} $\ast$p\-Consumer, int b\-All\-Lists=1)
+\item 
+int {\bf Reset} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Find\-Matching\-Data\-Segments} (const {\bf Ali\-HLTComponent} $\ast$p\-Consumer, vector$<$ {\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment} $>$ \&tgt\-List)
+\item 
+int {\bf Reset\-Data\-Buffer} ()
+\item 
+{\bf Ali\-HLTConsumer\-Descriptor} $\ast$ {\bf Find\-Consumer} (const {\bf Ali\-HLTComponent} $\ast$p\-Consumer, vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ \&list) const 
+\begin{CompactList}\small\item\em transient/////////////////////////////////////////////////////////////////////////// \item\end{CompactList}\item 
+int {\bf Change\-Consumer\-State} ({\bf Ali\-HLTConsumer\-Descriptor} $\ast$p\-Desc, vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ \&src\-List, vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ \&tgt\-List)
+\item 
+int {\bf Cleanup\-Consumer\-List} ()
+\end{CompactItemize}
+\subsection*{Static Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTRaw\-Buffer} $\ast$ {\bf Create\-Raw\-Buffer} ({\bf Ali\-HLTUInt32\_\-t} size)
+\item 
+int {\bf Release\-Raw\-Buffer} ({\bf Ali\-HLTRaw\-Buffer} $\ast$p\-Buffer)
+\item 
+int {\bf Delete\-Raw\-Buffers} ()
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+vector$<$ {\bf Ali\-HLTData\-Segment} $>$ {\bf f\-Segments}
+\item 
+vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ {\bf f\-Consumers}
+\item 
+vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ {\bf f\-Active\-Consumers}
+\item 
+vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ {\bf f\-Released\-Consumers}
+\item 
+{\bf Ali\-HLTRaw\-Buffer} $\ast$ {\bf fp\-Buffer}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Flags}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+int {\bf fg\-Nof\-Instances} = 0
+\item 
+vector$<$ {\bf Ali\-HLTRaw\-Buffer} $\ast$ $>$ {\bf fg\-Free\-Buffers}
+\item 
+vector$<$ {\bf Ali\-HLTRaw\-Buffer} $\ast$ $>$ {\bf fg\-Active\-Buffers}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf fg\-Margin} = 1024
+\item 
+{\bf Ali\-HLTLogging} {\bf fg\-Logging}
+\item 
+const Int\_\-t {\bf fgk\-Safety\-Pattern\-Size} = 16
+\item 
+const char {\bf fgk\-Safety\-Pattern} [$\,$] = \{0x28, 0x63, 0x29, 0x4d, 0x52, 0x49, 0x43, 0x48, 0x54, 0x45, 0x52, 0x20, 0x32, 0x30, 0x30, 0x37\}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!AliHLTDataBuffer@{AliHLTDataBuffer}}
+\index{AliHLTDataBuffer@{AliHLTDataBuffer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Buffer::Ali\-HLTData\-Buffer ()}\label{classAliHLTDataBuffer_a0}
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!AliHLTDataBuffer@{AliHLTDataBuffer}}
+\index{AliHLTDataBuffer@{AliHLTDataBuffer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Buffer::Ali\-HLTData\-Buffer (const {\bf Ali\-HLTData\-Buffer} \&)}\label{classAliHLTDataBuffer_a1}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 59 of file Ali\-HLTData\-Buffer.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}60   :
+61   TObject(),
+62   AliHLTLogging(),
+63   fSegments(),
+64   fConsumers(),
+65   fActiveConsumers(),
+66   fReleasedConsumers(),
+67   fpBuffer(NULL),
+68   fFlags(0)
+69 {
+70   // see header file for function documentation
+71   HLTFatal("copy constructor untested");
+72 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!~AliHLTDataBuffer@{$\sim$AliHLTDataBuffer}}
+\index{~AliHLTDataBuffer@{$\sim$AliHLTDataBuffer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Buffer::$\sim${\bf Ali\-HLTData\-Buffer} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTDataBuffer_a3}
+
+
+destructor 
+
+Definition at line 89 of file Ali\-HLTData\-Buffer.cxx.
+
+References Cleanup\-Consumer\-List(), Delete\-Raw\-Buffers(), and fg\-Nof\-Instances.
+
+\footnotesize\begin{verbatim}90 {
+91   // see header file for function documentation
+92   if (--fgNofInstances<=0) {
+93     DeleteRawBuffers();
+94   }
+95   CleanupConsumerList();
+96 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!ChangeConsumerState@{ChangeConsumerState}}
+\index{ChangeConsumerState@{ChangeConsumerState}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Change\-Consumer\-State ({\bf Ali\-HLTConsumer\-Descriptor} $\ast$ {\em p\-Desc}, vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ \& {\em src\-List}, vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ \& {\em tgt\-List})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_d3}
+
+
+Change the state of a consumer. The state of a consumer is determined by the list it is strored in, the method moves a consumer from the source to the target list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Desc}]pointer to consumer descriptor \item[{\em src\-List}]list where the consumer is currently to be found \item[{\em tgt\-List}]list where to move the consumer \end{description}
+\end{Desc}
+
+
+Definition at line 526 of file Ali\-HLTData\-Buffer.cxx.
+
+References HLTError.
+
+Referenced by Release(), and Subscribe().
+
+\footnotesize\begin{verbatim}527 {
+528   // see header file for function documentation
+529   int iResult=-ENOENT;
+530   if (pDesc) {
+531     vector<AliHLTConsumerDescriptor*>::iterator desc=srcList.begin();
+532     while (desc!=srcList.end()) {
+533       if ((*desc)==pDesc) {
+534         srcList.erase(desc);
+535         tgtList.push_back(pDesc);
+536         iResult=0;
+537         break;
+538       }
+539       desc++;
+540     }
+541     if (iResult<0) {
+542       HLTError("can not find consumer descriptor %p in list", pDesc);
+543     }
+544   } else {
+545     HLTError("invalid parameter");
+546     iResult=-EINVAL;
+547   }
+548   return iResult;
+549 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!CleanupConsumerList@{CleanupConsumerList}}
+\index{CleanupConsumerList@{CleanupConsumerList}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Cleanup\-Consumer\-List ()\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_d4}
+
+
+Cleanup a consumer list. Release all allocated data structures. {\bf Note:} Not the component itself! 
+
+Definition at line 551 of file Ali\-HLTData\-Buffer.cxx.
+
+References f\-Consumers, and Reset\-Data\-Buffer().
+
+Referenced by $\sim$Ali\-HLTData\-Buffer().
+
+\footnotesize\begin{verbatim}552 {
+553   // see header file for function documentation
+554   int iResult=0;
+555   ResetDataBuffer();
+556   vector<AliHLTConsumerDescriptor*>::iterator desc=fConsumers.begin();
+557   while (desc!=fConsumers.end()) {
+558     delete *desc;
+559     fConsumers.erase(desc);
+560     desc=fConsumers.begin();
+561   }
+562   return iResult;
+563 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!CreateRawBuffer@{CreateRawBuffer}}
+\index{CreateRawBuffer@{CreateRawBuffer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer} $\ast$ Ali\-HLTData\-Buffer::Create\-Raw\-Buffer ({\bf Ali\-HLTUInt32\_\-t} {\em size})\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_h0}
+
+
+Create a raw buffer of a certain size. The function tries to find a buffer of the given size (or a bit bigger by a certain margin {\bf fg\-Margin}{\rm (p.\,\pageref{classAliHLTDataBuffer_v3})}) from the list of free buffers. If no buffer is available, a new one is created and added to the buffer handling. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em size}]min. size of the requested buffer \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to raw buffer \end{Desc}
+
+
+Definition at line 348 of file Ali\-HLTData\-Buffer.cxx.
+
+References fg\-Active\-Buffers, fg\-Free\-Buffers, fgk\-Safety\-Pattern, fg\-Logging, Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Ptr, Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Size, Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Total\-Size, k\-HLTLog\-Debug, k\-HLTLog\-Error, and Ali\-HLTLogging::Logging().
+
+Referenced by Get\-Target\-Buffer().
+
+\footnotesize\begin{verbatim}349 {
+350   // see header file for function documentation
+351   AliHLTRawBuffer* pRawBuffer=NULL;
+352   unsigned int reqSize=size+fgkSafetyPatternSize;
+353   vector<AliHLTRawBuffer*>::iterator buffer=fgFreeBuffers.begin();
+354   while (buffer!=fgFreeBuffers.end() && pRawBuffer==NULL) {
+355     if ((*buffer)->fTotalSize>=reqSize && ((*buffer)->fTotalSize-reqSize)<fgMargin) {
+356       // assign this element
+357       pRawBuffer=*buffer;
+358       pRawBuffer->fSize=size;
+359       fgFreeBuffers.erase(buffer);
+360       fgLogging.Logging(kHLTLogDebug, "AliHLTDataBuffer::CreateRawBuffer", "data buffer handling", "raw buffer container %p provided for request of %d bytes (total %d available in buffer %p)", pRawBuffer, size, pRawBuffer->fTotalSize, pRawBuffer->fPtr);
+361       fgActiveBuffers.push_back(pRawBuffer);
+362       break;
+363     }
+364     buffer++;
+365   }
+366   if (pRawBuffer==NULL) {
+367     // no buffer found, create a new one
+368     pRawBuffer=new AliHLTRawBuffer;
+369     if (pRawBuffer) {
+370       pRawBuffer->fPtr=malloc(reqSize);
+371       if (pRawBuffer->fPtr) {
+372         pRawBuffer->fSize=size;
+373         pRawBuffer->fTotalSize=reqSize;
+374         fgActiveBuffers.push_back(pRawBuffer);
+375         fgLogging.Logging(kHLTLogDebug, "AliHLTDataBuffer::CreateRawBuffer", "data buffer handling", "new raw buffer %p of size %d created (container %p)", pRawBuffer->fPtr, pRawBuffer->fTotalSize, pRawBuffer);
+376         if (fgkSafetyPatternSize>0) {
+377           memcpy(((char*)pRawBuffer->fPtr)+pRawBuffer->fSize, fgkSafetyPattern, fgkSafetyPatternSize);
+378         }
+379       } else {
+380         delete pRawBuffer;
+381         pRawBuffer=NULL;
+382         fgLogging.Logging(kHLTLogError, "AliHLTDataBuffer::CreateRawBuffer", "data buffer handling", "memory allocation failed");
+383       } 
+384     } else {
+385       fgLogging.Logging(kHLTLogError, "AliHLTDataBuffer::CreateRawBuffer", "data buffer handling", "memory allocation failed");
+386     }
+387   }
+388   return pRawBuffer;
+389 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!DeleteRawBuffers@{DeleteRawBuffers}}
+\index{DeleteRawBuffers@{DeleteRawBuffers}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Delete\-Raw\-Buffers ()\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_h2}
+
+
+Deletes all the raw buffers. When the last Data Buffer object is destructed, all raw data buffers are relesed. 
+
+Definition at line 421 of file Ali\-HLTData\-Buffer.cxx.
+
+References fg\-Active\-Buffers, fg\-Free\-Buffers, fg\-Logging, k\-HLTLog\-Warning, and Ali\-HLTLogging::Logging().
+
+Referenced by $\sim$Ali\-HLTData\-Buffer().
+
+\footnotesize\begin{verbatim}422 {
+423   // see header file for function documentation
+424   int iResult=0;
+425   vector<AliHLTRawBuffer*>::iterator buffer=fgFreeBuffers.begin();
+426   while (buffer!=fgFreeBuffers.end()) {
+427     free((*buffer)->fPtr);
+428     delete *buffer;
+429     fgFreeBuffers.erase(buffer);
+430     buffer=fgFreeBuffers.begin();
+431   }
+432   buffer=fgActiveBuffers.begin();
+433   while (buffer!=fgActiveBuffers.end()) {
+434     fgLogging.Logging(kHLTLogWarning, "AliHLTDataBuffer::ReleaseRawBuffer", "data buffer handling", "request to delete active raw buffer container (raw buffer %p, size %d)", (*buffer)->fPtr, (*buffer)->fTotalSize);
+435     free((*buffer)->fPtr);
+436     delete *buffer;
+437     fgActiveBuffers.erase(buffer);
+438     buffer=fgActiveBuffers.begin();
+439   }
+440   return iResult;
+441 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!FindConsumer@{FindConsumer}}
+\index{FindConsumer@{FindConsumer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConsumer\-Descriptor} $\ast$ Ali\-HLTData\-Buffer::Find\-Consumer (const {\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer}, vector$<$ {\bf Ali\-HLTConsumer\-Descriptor} $\ast$ $>$ \& {\em list}) const\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_d2}
+
+
+transient/////////////////////////////////////////////////////////////////////////// 
+
+Find the consumer descriptor for a certain component and data type in a list of consumers.\par
+ {\bf Note:} There are three lists which contain the consumers in the different states. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer}]pointer to consumer component \item[{\em list}]list where to search for the consumer \end{description}
+\end{Desc}
+
+
+Definition at line 443 of file Ali\-HLTData\-Buffer.cxx.
+
+\footnotesize\begin{verbatim}444 {
+445   // see header file for function documentation
+446   AliHLTConsumerDescriptor* pDesc=NULL;
+447   vector<AliHLTConsumerDescriptor*>::iterator desc=list.begin();
+448   while (desc!=list.end() && pDesc==NULL) {
+449     if ((pConsumer==NULL || (*desc)->GetComponent()==pConsumer)) {
+450       pDesc=*desc;
+451     }
+452     desc++;
+453   }
+454   return pDesc;
+455 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!FindConsumer@{FindConsumer}}
+\index{FindConsumer@{FindConsumer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Find\-Consumer ({\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer}, int {\em b\-All\-Lists} = {\tt 1})}\label{classAliHLTDataBuffer_a14}
+
+
+Check if a consumer is already in the list \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer}]pointer to consumer component \item[{\em b\-All\-Lists}]search in all lists if 1 search only in f\-Consumer list if 0 \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if found, 0 if not \end{Desc}
+
+
+Definition at line 565 of file Ali\-HLTData\-Buffer.cxx.
+
+References f\-Active\-Consumers, f\-Consumers, and f\-Released\-Consumers.
+
+Referenced by Release(), Set\-Consumer(), and Subscribe().
+
+\footnotesize\begin{verbatim}566 {
+567   // see header file for function documentation
+568   vector<AliHLTConsumerDescriptor*>::iterator desc=fConsumers.begin();
+569   while (desc!=fConsumers.end()) {
+570     if ((*desc)->GetComponent()==pConsumer)
+571       return 1;
+572     desc++;
+573   }
+574   if (bAllLists==0) return 0;
+575 
+576   desc=fActiveConsumers.begin();
+577   while (desc!=fActiveConsumers.end()) {
+578     if ((*desc)->GetComponent()==pConsumer)
+579       return 1;
+580     desc++;
+581   }
+582   desc=fReleasedConsumers.begin();
+583   while (desc!=fReleasedConsumers.end()) {
+584     if ((*desc)->GetComponent()==pConsumer)
+585       return 1;
+586     desc++;
+587   }
+588   return 0;
+589 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!FindMatchingDataBlocks@{FindMatchingDataBlocks}}
+\index{FindMatchingDataBlocks@{FindMatchingDataBlocks}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Find\-Matching\-Data\-Blocks (const {\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer}, vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ $\ast$ {\em tgt\-List} = {\tt NULL})}\label{classAliHLTDataBuffer_a5}
+
+
+Determine the number of matching data blocks for the component and a consumer component. \par
+ The first approach will support only one output data type for processing components. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer}]the component which subscribes to the buffer \item[{\em tgt\-List}](optional) the list to receive the data types \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]: number of data blocks which match the input data types of the consumer, neg. error code if failed \par
+ -EINVAL invalid parameter \par
+ \end{Desc}
+
+
+Definition at line 121 of file Ali\-HLTData\-Buffer.cxx.
+
+References Find\-Matching\-Data\-Segments().
+
+Referenced by Ali\-HLTTask::Get\-Nof\-Matching\-Data\-Blocks().
+
+\footnotesize\begin{verbatim}122 {
+123   // see header file for function documentation
+124   int iResult=0;
+125   if (pConsumer) {
+126     vector<AliHLTDataBuffer::AliHLTDataSegment> segments;
+127     if ((iResult=FindMatchingDataSegments(pConsumer, segments))>=0) {
+128       if (tgtList) {
+129         vector<AliHLTDataBuffer::AliHLTDataSegment>::iterator segment=segments.begin();
+130         while (segment!=segments.end()) {
+131           tgtList->push_back((*segment).fDataType);
+132           segment++;
+133         }
+134       }
+135       iResult=segments.size();
+136     }
+137   } else {
+138     iResult=-EINVAL;
+139   }
+140   return iResult;
+141 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!FindMatchingDataSegments@{FindMatchingDataSegments}}
+\index{FindMatchingDataSegments@{FindMatchingDataSegments}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Find\-Matching\-Data\-Segments (const {\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer}, vector$<$ {\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment} $>$ \& {\em tgt\-List})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_d0}
+
+
+Find those data segments which match the input types of a component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer}]the component which subscribes to the buffer \item[{\em tgt\-List}]the list to receive the data segment descriptors \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]: number of data blocks which match the input data types of the consumer, neg. error code if failed \par
+ -EINVAL invalid parameter \par
+ \end{Desc}
+
+
+Definition at line 143 of file Ali\-HLTData\-Buffer.cxx.
+
+References f\-Segments.
+
+Referenced by Find\-Matching\-Data\-Blocks(), and Subscribe().
+
+\footnotesize\begin{verbatim}144 {
+145   // see header file for function documentation
+146   int iResult=0;
+147   if (pConsumer) {
+148     vector<AliHLTComponentDataType> dtlist;
+149     ((AliHLTComponent*)pConsumer)->GetInputDataTypes(dtlist);
+150     vector<AliHLTDataBuffer::AliHLTDataSegment>::iterator segment=fSegments.begin();
+151     while (segment!=fSegments.end()) {
+152       vector<AliHLTComponentDataType>::iterator type=dtlist.begin();
+153       while (type!=dtlist.end()) {
+154         if ((*segment).fDataType==(*type) ||
+155             (*type)==kAliHLTAnyDataType) {
+156           tgtList.push_back(*segment);
+157           iResult++;
+158           break;
+159         }
+160         type++;
+161       }
+162       segment++;
+163     }
+164   } else {
+165     iResult=-EINVAL;
+166   }
+167   return iResult;
+168 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!GetNofActiveConsumers@{GetNofActiveConsumers}}
+\index{GetNofActiveConsumers@{GetNofActiveConsumers}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Get\-Nof\-Active\-Consumers ()}\label{classAliHLTDataBuffer_a13}
+
+
+Get the number of active consumers \begin{Desc}
+\item[Returns:]number of active consumers \end{Desc}
+
+
+Definition at line 341 of file Ali\-HLTData\-Buffer.cxx.
+
+References f\-Active\-Consumers.
+
+Referenced by Get\-Nof\-Consumers(), and Release().
+
+\footnotesize\begin{verbatim}342 {
+343   // see header file for function documentation
+344   int iResult=fActiveConsumers.size();
+345   return iResult;
+346 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!GetNofConsumers@{GetNofConsumers}}
+\index{GetNofConsumers@{GetNofConsumers}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Get\-Nof\-Consumers ()}\label{classAliHLTDataBuffer_a12}
+
+
+Get the number of consumers \begin{Desc}
+\item[Returns:]number of consumers \end{Desc}
+
+
+Definition at line 334 of file Ali\-HLTData\-Buffer.cxx.
+
+References f\-Consumers, f\-Released\-Consumers, and Get\-Nof\-Active\-Consumers().
+
+\footnotesize\begin{verbatim}335 {
+336   // see header file for function documentation
+337   int iResult=fConsumers.size() + GetNofActiveConsumers() + fReleasedConsumers.size();
+338   return iResult;
+339 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!GetNofSegments@{GetNofSegments}}
+\index{GetNofSegments@{GetNofSegments}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Get\-Nof\-Segments ()}\label{classAliHLTDataBuffer_a11}
+
+
+Get the number of segments \begin{Desc}
+\item[Returns:]number of segments \end{Desc}
+
+
+Definition at line 327 of file Ali\-HLTData\-Buffer.cxx.
+
+References f\-Segments.
+
+Referenced by Is\-Empty().
+
+\footnotesize\begin{verbatim}328 {
+329   // see header file for function documentation
+330   int iResult=fSegments.size();
+331   return iResult;
+332 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!GetTargetBuffer@{GetTargetBuffer}}
+\index{GetTargetBuffer@{GetTargetBuffer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} $\ast$ Ali\-HLTData\-Buffer::Get\-Target\-Buffer (int {\em i\-Min\-Size})}\label{classAliHLTDataBuffer_a8}
+
+
+Get a target buffer of minimum size i\-Min\-Size. The method is used by the component which owns the Data Buffer to allocate a buffer for the data it is going to produce. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em i\-Min\-Size}]minumum size of the requested buffer \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]: pointer to target buffer if \end{Desc}
+
+
+Definition at line 270 of file Ali\-HLTData\-Buffer.cxx.
+
+References Ali\-HLTUInt8\_\-t, Create\-Raw\-Buffer(), fp\-Buffer, Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Ptr, and HLTError.
+
+Referenced by Ali\-HLTTask::Process\-Task().
+
+\footnotesize\begin{verbatim}271 {
+272   // see header file for function documentation
+273   AliHLTUInt8_t* pTargetBuffer=NULL;
+274   fpBuffer=CreateRawBuffer(iMinSize);
+275   if (fpBuffer) {
+276     pTargetBuffer=(AliHLTUInt8_t*)fpBuffer->fPtr;
+277   } else {
+278     HLTError("can not create raw buffer");
+279   }
+280   return pTargetBuffer;
+281 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!IsEmpty@{IsEmpty}}
+\index{IsEmpty@{IsEmpty}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Is\-Empty ()}\label{classAliHLTDataBuffer_a10}
+
+
+Check if the data buffer is empty. \begin{Desc}
+\item[Returns:]1 if empty, 0 if not \end{Desc}
+
+
+Definition at line 320 of file Ali\-HLTData\-Buffer.cxx.
+
+References fp\-Buffer, and Get\-Nof\-Segments().
+
+\footnotesize\begin{verbatim}321 {
+322   // see header file for function documentation
+323   int iResult=fpBuffer==NULL || GetNofSegments()==0;
+324   return iResult;
+325 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTData\-Buffer} \& Ali\-HLTData\-Buffer::operator= (const {\bf Ali\-HLTData\-Buffer} \&)}\label{classAliHLTDataBuffer_a2}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 74 of file Ali\-HLTData\-Buffer.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}75 { 
+76   // see header file for function documentation
+77   HLTFatal("assignment operator untested");
+78   return *this;
+79 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!Release@{Release}}
+\index{Release@{Release}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Release ({\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em p\-Block\-Desc}, const {\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer})}\label{classAliHLTDataBuffer_a7}
+
+
+Release an instance of the data buffer. Resets the variables of the block descriptor. If all buffer segments are released, the Data Buffer is reseted and the Raw Buffer released.\par
+ The method is used by the consumer component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Block\-Desc}]descriptor of the data segment \item[{\em p\-Consumer}]the component which subscribes to the buffer \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]: $>$0 if success, negative error code if failed \par
+ -EACCESS the consumer state can not be changed (de-activated) -ENOENT consumer has not subscribed to the buffer \par
+ -EINVAL invalid parameter \par
+ \end{Desc}
+
+
+Definition at line 231 of file Ali\-HLTData\-Buffer.cxx.
+
+References Change\-Consumer\-State(), Ali\-HLTConsumer\-Descriptor::Check\-Active\-Data\-Segment(), f\-Active\-Consumers, Find\-Consumer(), Ali\-HLTComponent\-Block\-Data::f\-Offset, Ali\-HLTComponent\-Block\-Data::f\-Ptr, f\-Released\-Consumers, Ali\-HLTComponent\-Block\-Data::f\-Size, Get\-Nof\-Active\-Consumers(), Ali\-HLTConsumer\-Descriptor::Get\-Nof\-Active\-Segments(), HLTError, HLTWarning, Ali\-HLTConsumer\-Descriptor::Release\-Active\-Data\-Segment(), and Reset\-Data\-Buffer().
+
+Referenced by Ali\-HLTTask::Release().
+
+\footnotesize\begin{verbatim}232 {
+233   // see header file for function documentation
+234   int iResult=0;
+235   if (pBlockDesc && pConsumer) {
+236     AliHLTConsumerDescriptor* pDesc=FindConsumer(pConsumer, fActiveConsumers);
+237     if (pDesc) {
+238       if ((iResult=pDesc->CheckActiveDataSegment(pBlockDesc->fOffset, pBlockDesc->fSize))!=1) {
+239         HLTWarning("data segment missmatch, component %p has not subscribed to a segment with offset %#x and size %d", pConsumer, pBlockDesc->fOffset, pBlockDesc->fSize);
+240         // TODO: appropriate error handling, but so far optional
+241         iResult=0;
+242       } else {
+243         pDesc->ReleaseActiveDataSegment(pBlockDesc->fOffset, pBlockDesc->fSize);
+244         pBlockDesc->fOffset=0;
+245         pBlockDesc->fPtr=NULL;
+246         pBlockDesc->fSize=0;
+247       }
+248       if (pDesc->GetNofActiveSegments()==0) {
+249         if ((iResult=ChangeConsumerState(pDesc, fActiveConsumers, fReleasedConsumers))>=0) {
+250           if (GetNofActiveConsumers()==0) {
+251             // this is the last consumer, reset the consumer list and release the raw buffer
+252             ResetDataBuffer();
+253           }
+254         } else {
+255           HLTError("can not deactivate consumer %p for data buffer %p", pConsumer, this);
+256           iResult=-EACCES;
+257         }
+258       }
+259     } else {
+260       HLTWarning("component %p has currently not subscribed to the data buffer %p", pConsumer, this);
+261       iResult=-ENOENT;
+262     }
+263   } else {
+264     HLTError("inavalid parameter: pBlockDesc=%p pConsumer=%p", pBlockDesc, pConsumer);
+265     iResult=-EINVAL;
+266   }
+267   return iResult;
+268 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!ReleaseRawBuffer@{ReleaseRawBuffer}}
+\index{ReleaseRawBuffer@{ReleaseRawBuffer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Release\-Raw\-Buffer ({\bf Ali\-HLTRaw\-Buffer} $\ast$ {\em p\-Buffer})\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_h1}
+
+
+Mark a buffer as free. After the Data Buffer has finnished using the raw buffer, it is released and added to the list of available buffers. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Buffer}]the raw buffer to release \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]$>$=0 if succeeded, neg. error code if failed \end{Desc}
+
+
+Definition at line 391 of file Ali\-HLTData\-Buffer.cxx.
+
+References fg\-Active\-Buffers, fg\-Free\-Buffers, fgk\-Safety\-Pattern, fgk\-Safety\-Pattern\-Size, fg\-Logging, k\-HLTLog\-Error, k\-HLTLog\-Fatal, k\-HLTLog\-Warning, and Ali\-HLTLogging::Logging().
+
+Referenced by Reset\-Data\-Buffer().
+
+\footnotesize\begin{verbatim}392 {
+393   // see header file for function documentation
+394   int iResult=0;
+395   if (pBuffer) {
+396     vector<AliHLTRawBuffer*>::iterator buffer=fgActiveBuffers.begin();
+397     while (buffer!=fgActiveBuffers.end() && (*buffer)!=pBuffer) {
+398       buffer++;
+399     }
+400     if (buffer!=fgActiveBuffers.end()) {
+401       if (fgkSafetyPatternSize>0) {
+402         if (memcmp(((char*)(*buffer)->fPtr)+(*buffer)->fSize, fgkSafetyPattern, fgkSafetyPatternSize)!=0) {
+403           fgLogging.Logging(kHLTLogFatal, "AliHLTDataBuffer::ReleaseRawBuffer", "data buffer handling", "component has written beyond end of data buffer %p size %d", (*buffer)->fPtr, (*buffer)->fSize);
+404         }
+405       }
+406       (*buffer)->fSize=0;
+407       fgFreeBuffers.push_back(*buffer);
+408       fgActiveBuffers.erase(buffer);
+409     } else {
+410       fgLogging.Logging(kHLTLogWarning, "AliHLTDataBuffer::ReleaseRawBuffer", "data buffer handling", "can not find raw buffer container %p in the list of active containers", pBuffer);
+411       iResult=-ENOENT;
+412     }
+413   } else {
+414     fgLogging.Logging(kHLTLogError, "AliHLTDataBuffer::ReleaseRawBuffer", "data buffer handling", "invalid parameter");
+415     iResult=-EINVAL;
+416   }
+417   return iResult;
+418 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!Reset@{Reset}}
+\index{Reset@{Reset}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Reset ()}\label{classAliHLTDataBuffer_a15}
+
+
+Public method to reset the buffer. Eventually with some additional checks. In normal operation, an external reset should not be necessary. 
+
+Definition at line 495 of file Ali\-HLTData\-Buffer.cxx.
+
+References Reset\-Data\-Buffer().
+
+Referenced by Ali\-HLTTask::Process\-Task().
+
+\footnotesize\begin{verbatim}496 {
+497   // see header file for function documentation
+498   return ResetDataBuffer();
+499 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!ResetDataBuffer@{ResetDataBuffer}}
+\index{ResetDataBuffer@{ResetDataBuffer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Reset\-Data\-Buffer ()\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_d1}
+
+
+Reset the data buffer. Removes all consumers back to the {\bf f\-Consumers}{\rm (p.\,\pageref{classAliHLTDataBuffer_r1})} list, deletes segments and releases the Raw Buffer. 
+
+Definition at line 457 of file Ali\-HLTData\-Buffer.cxx.
+
+References f\-Active\-Consumers, f\-Consumers, fp\-Buffer, f\-Released\-Consumers, f\-Segments, HLTWarning, and Release\-Raw\-Buffer().
+
+Referenced by Cleanup\-Consumer\-List(), Release(), and Reset().
+
+\footnotesize\begin{verbatim}458 {
+459   // see header file for function documentation
+460   int iResult=0;
+461   AliHLTRawBuffer* pBuffer=fpBuffer;
+462   fpBuffer=NULL;
+463 
+464   // cleanup consumer states
+465   vector<AliHLTConsumerDescriptor*>::iterator desc=fReleasedConsumers.begin();
+466   while (desc!=fReleasedConsumers.end()) {
+467     AliHLTConsumerDescriptor* pDesc=*desc;
+468     fReleasedConsumers.erase(desc);
+469     desc=fReleasedConsumers.begin();
+470     fConsumers.push_back(pDesc);
+471   }
+472   desc=fActiveConsumers.begin();
+473   while (desc!=fActiveConsumers.end()) {
+474     AliHLTConsumerDescriptor* pDesc=*desc;
+475     HLTWarning("consumer %p was not released", pDesc);
+476     fActiveConsumers.erase(desc);
+477     desc=fActiveConsumers.begin();
+478     fConsumers.push_back(pDesc);
+479   }
+480 
+481   // cleanup segments
+482   vector<AliHLTDataBuffer::AliHLTDataSegment>::iterator segment=fSegments.begin();
+483   while (segment!=fSegments.end()) {
+484     fSegments.erase(segment);
+485     segment=fSegments.begin();
+486   }
+487 
+488   // cleanup raw buffer
+489   if (pBuffer) {
+490     ReleaseRawBuffer(pBuffer);
+491   }
+492   return iResult;
+493 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!SetConsumer@{SetConsumer}}
+\index{SetConsumer@{SetConsumer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Set\-Consumer ({\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer})}\label{classAliHLTDataBuffer_a4}
+
+
+Add component to the list of consumers \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer}]- a consumer of type {\bf Ali\-HLTComponent}{\rm (p.\,\pageref{classAliHLTComponent})} \end{description}
+\end{Desc}
+
+
+Definition at line 98 of file Ali\-HLTData\-Buffer.cxx.
+
+References f\-Consumers, Find\-Consumer(), Ali\-HLTComponent::Get\-Component\-ID(), HLTDebug, HLTError, and HLTWarning.
+
+Referenced by Ali\-HLTTask::Start\-Run().
+
+\footnotesize\begin{verbatim}99 {
+100   // see header file for function documentation
+101   int iResult=0;
+102   if (pConsumer) {
+103     if (FindConsumer(pConsumer)) {
+104       HLTWarning("consumer %s (%p) already set to data buffer %p", pConsumer->GetComponentID(), pConsumer, this);
+105     }
+106     AliHLTConsumerDescriptor* pDesc=new AliHLTConsumerDescriptor(pConsumer);
+107     if (pDesc) {
+108       fConsumers.push_back(pDesc);
+109       HLTDebug("set consumer %s (%p) to data buffer %p", pConsumer->GetComponentID(), pConsumer, this);
+110     } else {
+111       HLTError("memory allocation failed");
+112       iResult=-ENOMEM;
+113     }
+114   } else {
+115     HLTError("invalid parameter: consumer component (nil)");
+116     iResult=-EINVAL;
+117   }
+118   return iResult;
+119 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!SetSegments@{SetSegments}}
+\index{SetSegments@{SetSegments}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Set\-Segments ({\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em p\-Tgt}, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em array\-Segments}, int {\em i\-Size})}\label{classAliHLTDataBuffer_a9}
+
+
+Set the segments for the data buffer. This is usually done after the component has written the data to the buffer, which was requested by the {\bf Get\-Target\-Buffer}{\rm (p.\,\pageref{classAliHLTDataBuffer_a8})} method. The component might produce different types of data, for each type a segment has to be defined which describes the data inside the buffer.\par
+ The {\bf Ali\-HLTComponent\-Block\-Data}{\rm (p.\,\pageref{structAliHLTComponentBlockData})} segment descriptor comes directly from the {\bf Ali\-HLTComponent::Process\-Event}{\rm (p.\,\pageref{classAliHLTComponent_a6})} method. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Tgt}]the target buffer which the segments refer to \item[{\em array\-Segments}]the output block descriptors of the component \item[{\em i\-Size}]size of the array \end{description}
+\end{Desc}
+
+
+Definition at line 283 of file Ali\-HLTData\-Buffer.cxx.
+
+References Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::f\-Data\-Type, Ali\-HLTComponent\-Block\-Data::f\-Offset, fp\-Buffer, Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Ptr, Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::f\-Segment\-Offset, f\-Segments, Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::f\-Segment\-Size, Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Size, Ali\-HLTComponent\-Block\-Data::f\-Size, Ali\-HLTComponent\-Block\-Data::f\-Specification, Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::f\-Specification, HLTDebug, HLTError, and HLTFatal.
+
+Referenced by Ali\-HLTTask::Process\-Task().
+
+\footnotesize\begin{verbatim}284 {
+285   // see header file for function documentation
+286   int iResult=0;
+287   if (pTgt && arrayBlockData && iSize>=0) {
+288     if (fpBuffer) {
+289       if (fpBuffer->fPtr==(void*)pTgt) {
+290         AliHLTDataBuffer::AliHLTDataSegment segment;
+291         for (int i=0; i<iSize; i++) {
+292           if (arrayBlockData[i].fOffset+arrayBlockData[i].fSize<=fpBuffer->fSize) {
+293             segment.fSegmentOffset=arrayBlockData[i].fOffset;
+294             segment.fSegmentSize=arrayBlockData[i].fSize;
+295             segment.fDataType=arrayBlockData[i].fDataType;
+296             segment.fSpecification=arrayBlockData[i].fSpecification;
+297             fSegments.push_back(segment);
+298             HLTDebug("set segment %s with size %d at offset %d", AliHLTComponent::DataType2Text(segment.fDataType).data(), segment.fSegmentSize, segment.fSegmentOffset);
+299           } else {
+300             HLTError("block data specification %#d (%s) exceeds size of data buffer", i, AliHLTComponent::DataType2Text(arrayBlockData[i].fDataType).data());
+301             HLTError("block offset=%d, block size=%d, buffer size=%d", arrayBlockData[i].fOffset, arrayBlockData[i].fSize, fpBuffer->fSize);
+302             iResult=-E2BIG;
+303           }
+304         }
+305       } else {
+306         HLTError("this data buffer (%p) does not match the internal data buffer %p of raw buffer %p", pTgt, fpBuffer->fPtr, fpBuffer);
+307         iResult=-EINVAL;
+308       }
+309     } else {
+310       HLTFatal("internal data structur missmatch");
+311       iResult=-EFAULT;
+312     }
+313   } else {
+314     HLTError("invalid parameter: pTgtBuffer=%p arrayBlockData=%p", pTgt, arrayBlockData);
+315     iResult=-EINVAL;
+316   }
+317   return iResult;
+318 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!Subscribe@{Subscribe}}
+\index{Subscribe@{Subscribe}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Buffer::Subscribe (const {\bf Ali\-HLTComponent} $\ast$ {\em p\-Consumer}, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em array\-Block\-Desc}, int {\em i\-Array\-Size})}\label{classAliHLTDataBuffer_a6}
+
+
+Subscribe to a segment of the data buffer. The function prepares the block descriptor for subsequent use with the {\bf Ali\-HLTComponent::Process\-Event}{\rm (p.\,\pageref{classAliHLTComponent_a6})} method, the method can prepare several block descriptors up to the array size specified by i\-Array\-Size. The return value is independent from the array size the number of block descriptors which would have been prepared if there was enough space in the array\par
+ The method is used by the consumer component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer}]the component which subscribes to the buffer \item[{\em array\-Block\-Desc}]pointer to block descriptor to be filled \item[{\em i\-Array\-Size}]size of the block descriptor array \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]: number of matching data blocks, neg. error code if failed\par
+ -EACCESS the consumer state can't be changed (activated) -EBADF unresolved data segments \par
+ -ENOENT consumer component not found \par
+ -ENODATA data buffer does not have raw data \par
+ -EINVAL invalid parameter \par
+ \end{Desc}
+
+
+Definition at line 170 of file Ali\-HLTData\-Buffer.cxx.
+
+References Change\-Consumer\-State(), f\-Active\-Consumers, f\-Consumers, Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, Find\-Consumer(), Find\-Matching\-Data\-Segments(), Ali\-HLTComponent\-Block\-Data::f\-Offset, fp\-Buffer, Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Ptr, Ali\-HLTComponent\-Block\-Data::f\-Ptr, Ali\-HLTComponent\-Shm\-Data::f\-Shm\-ID, Ali\-HLTComponent\-Block\-Data::f\-Shm\-Key, Ali\-HLTComponent\-Shm\-Data::f\-Shm\-Type, Ali\-HLTComponent\-Block\-Data::f\-Size, Ali\-HLTComponent\-Block\-Data::f\-Specification, Ali\-HLTComponent\-Shm\-Data::f\-Struct\-Size, Ali\-HLTComponent\-Block\-Data::f\-Struct\-Size, HLTDebug, HLTError, and Ali\-HLTConsumer\-Descriptor::Set\-Active\-Data\-Segment().
+
+Referenced by Ali\-HLTTask::Subscribe().
+
+\footnotesize\begin{verbatim}171 {
+172   // see header file for function documentation
+173   int iResult=0;
+174   if (pConsumer && arrayBlockDesc) {
+175     if (fpBuffer) {
+176       AliHLTConsumerDescriptor* pDesc=FindConsumer(pConsumer, fConsumers);
+177       if (pDesc) {
+178         vector<AliHLTDataBuffer::AliHLTDataSegment> tgtList;
+179         /* TODO: think about a good policy for this check
+180          * is it enough that at least one segment is available, or have all to be available?
+181          * or is it possible to have optional segments?
+182          */
+183         if ((iResult=FindMatchingDataSegments(pConsumer, tgtList))>0) {
+184           int i =0;
+185           vector<AliHLTDataBuffer::AliHLTDataSegment>::iterator segment=tgtList.begin();
+186           while (segment!=tgtList.end() && i<iArraySize) {
+187             // fill the block data descriptor
+188             arrayBlockDesc[i].fStructSize=sizeof(AliHLTComponentBlockData);
+189             // the shared memory key is not used in AliRoot
+190             arrayBlockDesc[i].fShmKey.fStructSize=sizeof(AliHLTComponentShmData);
+191             arrayBlockDesc[i].fShmKey.fShmType=gkAliHLTComponentInvalidShmType;
+192             arrayBlockDesc[i].fShmKey.fShmID=gkAliHLTComponentInvalidShmID;
+193             arrayBlockDesc[i].fOffset=(*segment).fSegmentOffset;
+194             arrayBlockDesc[i].fPtr=fpBuffer->fPtr;
+195             arrayBlockDesc[i].fSize=(*segment).fSegmentSize;
+196             arrayBlockDesc[i].fDataType=(*segment).fDataType;
+197             arrayBlockDesc[i].fSpecification=(*segment).fSpecification;
+198             pDesc->SetActiveDataSegment(arrayBlockDesc[i].fOffset, arrayBlockDesc[i].fSize);
+199             HLTDebug("component %p (%s) subscribed to segment #%d offset %d", pConsumer, ((AliHLTComponent*)pConsumer)->GetComponentID(), i, arrayBlockDesc[i].fOffset);
+200             i++;
+201             segment++;
+202           }
+203           // move this consumer to the active list
+204           if (ChangeConsumerState(pDesc, fConsumers, fActiveConsumers)>=0) {
+205             HLTDebug("component %p (%s) subscribed to data buffer %p", pConsumer, ((AliHLTComponent*)pConsumer)->GetComponentID(), this);
+206           } else {
+207             // TODO: cleanup the consumer descriptor correctly
+208             memset(arrayBlockDesc, 0, iArraySize*sizeof(AliHLTComponentBlockData));
+209             HLTError("can not activate consumer %p for data buffer %p", pConsumer, this);
+210             iResult=-EACCES;
+211           }
+212         } else {
+213           HLTError("unresolved data segment(s) for component %p (%s)", pConsumer, ((AliHLTComponent*)pConsumer)->GetComponentID());
+214           iResult=-EBADF;
+215         }
+216       } else {
+217         HLTError("component %p is not a data consumer of data buffer %s", pConsumer, this);
+218         iResult=-ENOENT;
+219       }
+220     } else {
+221       HLTError("data buffer %p is empty", this);
+222       iResult=-ENODATA;
+223     }
+224   } else {
+225     HLTError("invalid parameter");
+226     iResult=-EINVAL;
+227   }
+228   return iResult;
+229 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fActiveConsumers@{fActiveConsumers}}
+\index{fActiveConsumers@{fActiveConsumers}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTConsumer\-Descriptor}$\ast$$>$ {\bf Ali\-HLTData\-Buffer::f\-Active\-Consumers}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_r2}
+
+
+
+
+Definition at line 283 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Find\-Consumer(), Get\-Nof\-Active\-Consumers(), Release(), Reset\-Data\-Buffer(), and Subscribe().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fConsumers@{fConsumers}}
+\index{fConsumers@{fConsumers}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTConsumer\-Descriptor}$\ast$$>$ {\bf Ali\-HLTData\-Buffer::f\-Consumers}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_r1}
+
+
+
+
+Definition at line 281 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Cleanup\-Consumer\-List(), Find\-Consumer(), Get\-Nof\-Consumers(), Reset\-Data\-Buffer(), Set\-Consumer(), and Subscribe().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fFlags@{fFlags}}
+\index{fFlags@{fFlags}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTData\-Buffer::f\-Flags}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_r5}
+
+
+transient 
+
+
+
+Definition at line 291 of file Ali\-HLTData\-Buffer.h.\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fgActiveBuffers@{fgActiveBuffers}}
+\index{fgActiveBuffers@{fgActiveBuffers}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer} $\ast$ $>$ {\bf Ali\-HLTData\-Buffer::fg\-Active\-Buffers}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_v2}
+
+
+global list of currently active raw buffers 
+
+Definition at line 83 of file Ali\-HLTData\-Buffer.cxx.
+
+Referenced by Create\-Raw\-Buffer(), Delete\-Raw\-Buffers(), and Release\-Raw\-Buffer().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fgFreeBuffers@{fgFreeBuffers}}
+\index{fgFreeBuffers@{fgFreeBuffers}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer} $\ast$ $>$ {\bf Ali\-HLTData\-Buffer::fg\-Free\-Buffers}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_v1}
+
+
+global list of free raw buffers 
+
+Definition at line 82 of file Ali\-HLTData\-Buffer.cxx.
+
+Referenced by Create\-Raw\-Buffer(), Delete\-Raw\-Buffers(), and Release\-Raw\-Buffer().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fgkSafetyPattern@{fgkSafetyPattern}}
+\index{fgkSafetyPattern@{fgkSafetyPattern}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char {\bf Ali\-HLTData\-Buffer::fgk\-Safety\-Pattern} = \{0x28, 0x63, 0x29, 0x4d, 0x52, 0x49, 0x43, 0x48, 0x54, 0x45, 0x52, 0x20, 0x32, 0x30, 0x30, 0x37\}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_v6}
+
+
+the safety pattern 
+
+Definition at line 87 of file Ali\-HLTData\-Buffer.cxx.
+
+Referenced by Create\-Raw\-Buffer(), and Release\-Raw\-Buffer().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fgkSafetyPatternSize@{fgkSafetyPatternSize}}
+\index{fgkSafetyPatternSize@{fgkSafetyPatternSize}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const Int\_\-t {\bf Ali\-HLTData\-Buffer::fgk\-Safety\-Pattern\-Size} = 16\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_v5}
+
+
+size of the safety pattern 
+
+Definition at line 86 of file Ali\-HLTData\-Buffer.cxx.
+
+Referenced by Release\-Raw\-Buffer().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fgLogging@{fgLogging}}
+\index{fgLogging@{fgLogging}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTLogging} {\bf Ali\-HLTData\-Buffer::fg\-Logging}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_v4}
+
+
+global instance to HLT logging class for static methods 
+
+Definition at line 85 of file Ali\-HLTData\-Buffer.cxx.
+
+Referenced by Create\-Raw\-Buffer(), Delete\-Raw\-Buffers(), and Release\-Raw\-Buffer().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fgMargin@{fgMargin}}
+\index{fgMargin@{fgMargin}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTData\-Buffer::fg\-Margin} = 1024\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_v3}
+
+
+determines the raw buffer size margin at buffer requests 
+
+Definition at line 84 of file Ali\-HLTData\-Buffer.cxx.\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fgNofInstances@{fgNofInstances}}
+\index{fgNofInstances@{fgNofInstances}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTData\-Buffer::fg\-Nof\-Instances} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTDataBuffer_v0}
+
+
+Number of instances of Ali\-HLTData\-Buffer. The statice variable is incremented and decremented in the constructor/ destructor. All internal data structures are cleaned up when the last instance is exiting. 
+
+Definition at line 81 of file Ali\-HLTData\-Buffer.cxx.
+
+Referenced by $\sim$Ali\-HLTData\-Buffer().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fpBuffer@{fpBuffer}}
+\index{fpBuffer@{fpBuffer}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTRaw\-Buffer}$\ast$ {\bf Ali\-HLTData\-Buffer::fp\-Buffer}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_r4}
+
+
+
+
+Definition at line 288 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Get\-Target\-Buffer(), Is\-Empty(), Reset\-Data\-Buffer(), Set\-Segments(), and Subscribe().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fReleasedConsumers@{fReleasedConsumers}}
+\index{fReleasedConsumers@{fReleasedConsumers}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTConsumer\-Descriptor}$\ast$$>$ {\bf Ali\-HLTData\-Buffer::f\-Released\-Consumers}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_r3}
+
+
+
+
+Definition at line 285 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Find\-Consumer(), Get\-Nof\-Consumers(), Release(), and Reset\-Data\-Buffer().\index{AliHLTDataBuffer@{Ali\-HLTData\-Buffer}!fSegments@{fSegments}}
+\index{fSegments@{fSegments}!AliHLTDataBuffer@{Ali\-HLTData\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Ali\-HLTData\-Segment}$>$ {\bf Ali\-HLTData\-Buffer::f\-Segments}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_r0}
+
+
+
+
+Definition at line 278 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Find\-Matching\-Data\-Segments(), Get\-Nof\-Segments(), Reset\-Data\-Buffer(), and Set\-Segments().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Buffer.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Buffer.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTDataBuffer_1_1AliHLTDataSegment.tex b/HLT/PHOS/latex/classAliHLTDataBuffer_1_1AliHLTDataSegment.tex
new file mode 100644 (file)
index 0000000..131f807
--- /dev/null
@@ -0,0 +1,142 @@
+\section{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment Class Reference}
+\label{classAliHLTDataBuffer_1_1AliHLTDataSegment}\index{AliHLTDataBuffer::AliHLTDataSegment@{AliHLTDataBuffer::AliHLTDataSegment}}
+{\tt \#include $<$Ali\-HLTData\-Buffer.h$>$}
+
+
+
+\subsection{Detailed Description}
+Descriptor of a data segment within the buffer. 
+
+
+
+Definition at line 193 of file Ali\-HLTData\-Buffer.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTData\-Segment} ()
+\item 
+{\bf Ali\-HLTData\-Segment} ({\bf Ali\-HLTUInt32\_\-t} offset, {\bf Ali\-HLTUInt32\_\-t} size)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent\-Data\-Type} {\bf f\-Data\-Type}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Segment\-Offset}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Segment\-Size}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Specification}
+\end{CompactItemize}
+\subsection*{Friends}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTData\-Buffer}
+\item 
+class {\bf Ali\-HLTConsumer\-Descriptor}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}!AliHLTDataSegment@{AliHLTDataSegment}}
+\index{AliHLTDataSegment@{AliHLTDataSegment}!AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::Ali\-HLTData\-Segment ()\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTDataBuffer_1_1AliHLTDataSegment_a0}
+
+
+
+
+Definition at line 197 of file Ali\-HLTData\-Buffer.h.
+
+\footnotesize\begin{verbatim}198       :
+199       fDataType(),
+200       fSegmentOffset(0),
+201       fSegmentSize(0),
+202       fSpecification(0)
+203     {
+204       memset(&fDataType, 0, sizeof(AliHLTComponentDataType));
+205     }
+    AliHLTDataSegment(AliHLTUInt32_t offset, AliHLTUInt32_t size) 
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}!AliHLTDataSegment@{AliHLTDataSegment}}
+\index{AliHLTDataSegment@{AliHLTDataSegment}!AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::Ali\-HLTData\-Segment ({\bf Ali\-HLTUInt32\_\-t} {\em offset}, {\bf Ali\-HLTUInt32\_\-t} {\em size})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTDataBuffer_1_1AliHLTDataSegment_a1}
+
+
+
+
+Definition at line 206 of file Ali\-HLTData\-Buffer.h.
+
+\footnotesize\begin{verbatim}207       :
+208       fDataType(),
+209       fSegmentOffset(offset),
+210       fSegmentSize(size),
+211       fSpecification(0)
+212     {
+213       memset(&fDataType, 0, sizeof(AliHLTComponentDataType));
+214     }
+  private:
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Friends And Related Function Documentation}
+\index{AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}!AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}}
+\index{AliHLTConsumerDescriptor@{AliHLTConsumerDescriptor}!AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf Ali\-HLTConsumer\-Descriptor}\hspace{0.3cm}{\tt  [friend]}}\label{classAliHLTDataBuffer_1_1AliHLTDataSegment_n1}
+
+
+
+
+Definition at line 195 of file Ali\-HLTData\-Buffer.h.\index{AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}!AliHLTDataBuffer@{AliHLTDataBuffer}}
+\index{AliHLTDataBuffer@{AliHLTDataBuffer}!AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf Ali\-HLTData\-Buffer}\hspace{0.3cm}{\tt  [friend]}}\label{classAliHLTDataBuffer_1_1AliHLTDataSegment_n0}
+
+
+
+
+Definition at line 194 of file Ali\-HLTData\-Buffer.h.
+
+\subsection{Member Data Documentation}
+\index{AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}!fDataType@{fDataType}}
+\index{fDataType@{fDataType}!AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::f\-Data\-Type}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_1_1AliHLTDataSegment_r0}
+
+
+the data type of this segment 
+
+Definition at line 217 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Ali\-HLTData\-Buffer::Set\-Segments().\index{AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}!fSegmentOffset@{fSegmentOffset}}
+\index{fSegmentOffset@{fSegmentOffset}!AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::f\-Segment\-Offset}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_1_1AliHLTDataSegment_r1}
+
+
+offset in byte within the data buffer 
+
+Definition at line 219 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Ali\-HLTData\-Buffer::Set\-Segments().\index{AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}!fSegmentSize@{fSegmentSize}}
+\index{fSegmentSize@{fSegmentSize}!AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::f\-Segment\-Size}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_1_1AliHLTDataSegment_r2}
+
+
+size of the actual content 
+
+Definition at line 221 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Ali\-HLTData\-Buffer::Set\-Segments().\index{AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}!fSpecification@{fSpecification}}
+\index{fSpecification@{fSpecification}!AliHLTDataBuffer::AliHLTDataSegment@{Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTData\-Buffer::Ali\-HLTData\-Segment::f\-Specification}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_1_1AliHLTDataSegment_r3}
+
+
+data specification 
+
+Definition at line 223 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Ali\-HLTData\-Buffer::Set\-Segments().
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Buffer.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTDataBuffer_1_1AliHLTRawBuffer.tex b/HLT/PHOS/latex/classAliHLTDataBuffer_1_1AliHLTRawBuffer.tex
new file mode 100644 (file)
index 0000000..8174ac3
--- /dev/null
@@ -0,0 +1,139 @@
+\section{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer Class Reference}
+\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer}\index{AliHLTDataBuffer::AliHLTRawBuffer@{AliHLTDataBuffer::AliHLTRawBuffer}}
+{\tt \#include $<$Ali\-HLTData\-Buffer.h$>$}
+
+
+
+\subsection{Detailed Description}
+Descriptor of the raw data buffer which can host several segments. 
+
+
+
+Definition at line 230 of file Ali\-HLTData\-Buffer.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTRaw\-Buffer} ()
+\item 
+{\bf Ali\-HLTRaw\-Buffer} (const {\bf Ali\-HLTRaw\-Buffer} \&)
+\item 
+{\bf Ali\-HLTRaw\-Buffer} \& {\bf operator=} (const {\bf Ali\-HLTRaw\-Buffer} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTRaw\-Buffer} ()
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Size}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Total\-Size}
+\item 
+void $\ast$ {\bf f\-Ptr}
+\end{CompactItemize}
+\subsection*{Friends}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTData\-Buffer}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}!AliHLTRawBuffer@{AliHLTRawBuffer}}
+\index{AliHLTRawBuffer@{AliHLTRawBuffer}!AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::Ali\-HLTRaw\-Buffer ()\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer_a0}
+
+
+standard constructor 
+
+Definition at line 234 of file Ali\-HLTData\-Buffer.h.
+
+\footnotesize\begin{verbatim}234 : fSize(0), fTotalSize(0), fPtr(NULL) {}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}!AliHLTRawBuffer@{AliHLTRawBuffer}}
+\index{AliHLTRawBuffer@{AliHLTRawBuffer}!AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::Ali\-HLTRaw\-Buffer (const {\bf Ali\-HLTRaw\-Buffer} \&)\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer_a1}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 236 of file Ali\-HLTData\-Buffer.h.
+
+\footnotesize\begin{verbatim}236 : fSize(0), fTotalSize(0), fPtr(NULL) {}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}!~AliHLTRawBuffer@{$\sim$AliHLTRawBuffer}}
+\index{~AliHLTRawBuffer@{$\sim$AliHLTRawBuffer}!AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::$\sim${\bf Ali\-HLTRaw\-Buffer} ()\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer_a3}
+
+
+standard destructor 
+
+Definition at line 240 of file Ali\-HLTData\-Buffer.h.
+
+\footnotesize\begin{verbatim}240 {}
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTRaw\-Buffer}\& Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::operator= (const {\bf Ali\-HLTRaw\-Buffer} \&)\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer_a2}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 238 of file Ali\-HLTData\-Buffer.h.
+
+\footnotesize\begin{verbatim}238 {return *this;}
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Friends And Related Function Documentation}
+\index{AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}!AliHLTDataBuffer@{AliHLTDataBuffer}}
+\index{AliHLTDataBuffer@{AliHLTDataBuffer}!AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf Ali\-HLTData\-Buffer}\hspace{0.3cm}{\tt  [friend]}}\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer_n0}
+
+
+
+
+Definition at line 231 of file Ali\-HLTData\-Buffer.h.
+
+\subsection{Member Data Documentation}
+\index{AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}!fPtr@{fPtr}}
+\index{fPtr@{fPtr}!AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ {\bf Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Ptr}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer_r2}
+
+
+the buffer 
+
+Definition at line 247 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Ali\-HLTData\-Buffer::Create\-Raw\-Buffer(), Ali\-HLTData\-Buffer::Get\-Target\-Buffer(), Ali\-HLTData\-Buffer::Set\-Segments(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}!fSize@{fSize}}
+\index{fSize@{fSize}!AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Size}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer_r0}
+
+
+size of the currently occupied partition of the buffer 
+
+Definition at line 243 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Ali\-HLTData\-Buffer::Create\-Raw\-Buffer(), and Ali\-HLTData\-Buffer::Set\-Segments().\index{AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}!fTotalSize@{fTotalSize}}
+\index{fTotalSize@{fTotalSize}!AliHLTDataBuffer::AliHLTRawBuffer@{Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTData\-Buffer::Ali\-HLTRaw\-Buffer::f\-Total\-Size}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTDataBuffer_1_1AliHLTRawBuffer_r1}
+
+
+total size of the buffer, including safety margin 
+
+Definition at line 245 of file Ali\-HLTData\-Buffer.h.
+
+Referenced by Ali\-HLTData\-Buffer::Create\-Raw\-Buffer().
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Buffer.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTDataSink.eps b/HLT/PHOS/latex/classAliHLTDataSink.eps
new file mode 100644 (file)
index 0000000..6d74213
--- /dev/null
@@ -0,0 +1,209 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 547.945
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.9125 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 4 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTDataSink) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+(AliHLTOfflineDataSink) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTDataSink) 0 1 box
+ (AliHLTComponent) 0 2 box
+ (AliHLTLogging) 0 3 box
+ (AliHLTOfflineDataSink) 0 0 box
+
+% ----- relations -----
+
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
+solid
+1 0 0.25 out
+solid
+0 0 0.75 in
diff --git a/HLT/PHOS/latex/classAliHLTDataSink.tex b/HLT/PHOS/latex/classAliHLTDataSink.tex
new file mode 100644 (file)
index 0000000..99c668f
--- /dev/null
@@ -0,0 +1,210 @@
+\section{Ali\-HLTData\-Sink Class Reference}
+\label{classAliHLTDataSink}\index{AliHLTDataSink@{AliHLTDataSink}}
+{\tt \#include $<$Ali\-HLTData\-Sink.h$>$}
+
+Inheritance diagram for Ali\-HLTData\-Sink::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classAliHLTDataSink}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Base class of HLT data sink components. The class provides a common interface for the implementation of HLT data sink components. The child class must implement the functions:\begin{itemize}
+\item {\bf Do\-Init}{\rm (p.\,\pageref{classAliHLTComponent_b5})} (optional)\item {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTComponent_b6})} (optional)\item {\bf Dump\-Event}{\rm (p.\,\pageref{classAliHLTDataSink_d0})}\item {\bf Get\-Component\-ID}{\rm (p.\,\pageref{classAliHLTComponent_a9})}\item {\bf Get\-Input\-Data\-Types}{\rm (p.\,\pageref{classAliHLTComponent_a10})}\item {\bf Spawn}{\rm (p.\,\pageref{classAliHLTComponent_a13})} \end{itemize}
+
+
+
+
+Definition at line 32 of file Ali\-HLTData\-Sink.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTData\-Sink} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTData\-Sink} ()
+\item 
+int {\bf Do\-Processing} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\&edd)
+\item 
+{\bf TComponent\-Type} {\bf Get\-Component\-Type} ()
+\item 
+{\bf Ali\-HLTComponent\-Data\-Type} {\bf Get\-Output\-Data\-Type} ()
+\item 
+void {\bf Get\-Output\-Data\-Size} (unsigned long \&const\-Base, double \&input\-Multiplier)
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+virtual int {\bf Dump\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data)
+\item 
+virtual int {\bf Dump\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data)
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTDataSink@{Ali\-HLTData\-Sink}!AliHLTDataSink@{AliHLTDataSink}}
+\index{AliHLTDataSink@{AliHLTDataSink}!AliHLTDataSink@{Ali\-HLTData\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Sink::Ali\-HLTData\-Sink ()}\label{classAliHLTDataSink_a0}
+
+
+standard constructor \index{AliHLTDataSink@{Ali\-HLTData\-Sink}!~AliHLTDataSink@{$\sim$AliHLTDataSink}}
+\index{~AliHLTDataSink@{$\sim$AliHLTDataSink}!AliHLTDataSink@{Ali\-HLTData\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Sink::$\sim${\bf Ali\-HLTData\-Sink} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTDataSink_a1}
+
+
+standard destructor 
+
+Definition at line 41 of file Ali\-HLTData\-Sink.cxx.
+
+\footnotesize\begin{verbatim}42 { 
+43   // see header file for class documentation
+44 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTDataSink@{Ali\-HLTData\-Sink}!DoProcessing@{DoProcessing}}
+\index{DoProcessing@{DoProcessing}!AliHLTDataSink@{Ali\-HLTData\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Sink::Do\-Processing (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks}, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\& {\em edd})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTDataSink_a2}
+
+
+Event processing function. The method is called by the framework to process one event. After preparation of data structures. The call is redirected to Dump\-Event. \begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a7})}.
+
+Definition at line 63 of file Ali\-HLTData\-Sink.cxx.
+
+References Dump\-Event().
+
+\footnotesize\begin{verbatim}70 {
+71   // see header file for class documentation
+72   int iResult=0;
+73   if (outputPtr==NULL
+74       && size==0 
+75       && edd==NULL) {
+76     // this is currently just to get rid of the warning "unused parameter"
+77   }
+78   outputBlocks.clear();
+79   iResult=DumpEvent(evtData, blocks, trigData);
+80   return iResult;
+81 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSink@{Ali\-HLTData\-Sink}!DumpEvent@{DumpEvent}}
+\index{DumpEvent@{DumpEvent}!AliHLTDataSink@{Ali\-HLTData\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Sink::Dump\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data})\hspace{0.3cm}{\tt  [private, virtual]}}\label{classAliHLTDataSink_d1}
+
+
+The high-level data processing method. This is the default processing method; the method is called if no low level {\bf Dump\-Event}{\rm (p.\,\pageref{classAliHLTDataSink_d0})} method is overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em trig\-Data}]trigger data structure \end{description}
+\end{Desc}
+
+
+Definition at line 92 of file Ali\-HLTData\-Sink.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}93 {
+94   HLTFatal("no processing method implemented");
+95   return -ENOSYS;
+96 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSink@{Ali\-HLTData\-Sink}!DumpEvent@{DumpEvent}}
+\index{DumpEvent@{DumpEvent}!AliHLTDataSink@{Ali\-HLTData\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Sink::Dump\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data})\hspace{0.3cm}{\tt  [private, virtual]}}\label{classAliHLTDataSink_d0}
+
+
+The low-level data processing method for the component. This is the custom processing method and can be overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em blocks}]input data block descriptors \item[{\em trig\-Data}]trigger data structure \end{description}
+\end{Desc}
+
+
+Definition at line 83 of file Ali\-HLTData\-Sink.cxx.
+
+Referenced by Do\-Processing().
+
+\footnotesize\begin{verbatim}86 {
+87   // we just forward to the high level method, all other parameters already
+88   // have been stored internally
+89   return DumpEvent(evtData, trigData);
+90 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSink@{Ali\-HLTData\-Sink}!GetComponentType@{GetComponentType}}
+\index{GetComponentType@{GetComponentType}!AliHLTDataSink@{Ali\-HLTData\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf TComponent\-Type} Ali\-HLTData\-Sink::Get\-Component\-Type ()\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classAliHLTDataSink_a3}
+
+
+Return {\bf Ali\-HLTComponent::k\-Sink}{\rm (p.\,\pageref{classAliHLTComponent_w9w3})} type as component type. \begin{Desc}
+\item[Returns:]component type id \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a8})}.
+
+Definition at line 59 of file Ali\-HLTData\-Sink.h.
+
+\footnotesize\begin{verbatim}59 { return AliHLTComponent::kSink;}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSink@{Ali\-HLTData\-Sink}!GetOutputDataSize@{GetOutputDataSize}}
+\index{GetOutputDataSize@{GetOutputDataSize}!AliHLTDataSink@{Ali\-HLTData\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTData\-Sink::Get\-Output\-Data\-Size (unsigned long \& {\em const\-Base}, double \& {\em input\-Multiplier})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTDataSink_a5}
+
+
+Default implementation for all data sinks. There is no output data. 
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a12})}.
+
+Definition at line 56 of file Ali\-HLTData\-Sink.cxx.
+
+\footnotesize\begin{verbatim}57 {
+58   // see header file for class documentation
+59   constBase=0;
+60   inputMultiplier=0;
+61 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSink@{Ali\-HLTData\-Sink}!GetOutputDataType@{GetOutputDataType}}
+\index{GetOutputDataType@{GetOutputDataType}!AliHLTDataSink@{Ali\-HLTData\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} Ali\-HLTData\-Sink::Get\-Output\-Data\-Type ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTDataSink_a4}
+
+
+Default implementation for all data sinks. There are no output data types. 
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a11})}.
+
+Definition at line 46 of file Ali\-HLTData\-Sink.cxx.
+
+References k\-Ali\-HLTVoid\-Data\-Origin.
+
+\footnotesize\begin{verbatim}47 {
+48   // see header file for class documentation
+49   AliHLTComponentDataType dt =
+50     {sizeof(AliHLTComponentDataType),
+51      kAliHLTVoidDataTypeID,
+52      kAliHLTVoidDataOrigin};
+53   return dt;
+54 }
+\end{verbatim}\normalsize 
+
+
+
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Sink.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Sink.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTDataSource.eps b/HLT/PHOS/latex/classAliHLTDataSource.eps
new file mode 100644 (file)
index 0000000..d80df11
--- /dev/null
@@ -0,0 +1,209 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 490.798
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.01875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 4 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTDataSource) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+(AliHLTOfflineDataSource) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTDataSource) 0 1 box
+ (AliHLTComponent) 0 2 box
+ (AliHLTLogging) 0 3 box
+ (AliHLTOfflineDataSource) 0 0 box
+
+% ----- relations -----
+
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
+solid
+1 0 0.25 out
+solid
+0 0 0.75 in
diff --git a/HLT/PHOS/latex/classAliHLTDataSource.tex b/HLT/PHOS/latex/classAliHLTDataSource.tex
new file mode 100644 (file)
index 0000000..b25553b
--- /dev/null
@@ -0,0 +1,189 @@
+\section{Ali\-HLTData\-Source Class Reference}
+\label{classAliHLTDataSource}\index{AliHLTDataSource@{AliHLTDataSource}}
+{\tt \#include $<$Ali\-HLTData\-Source.h$>$}
+
+Inheritance diagram for Ali\-HLTData\-Source::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classAliHLTDataSource}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Base class of HLT data source components. The class provides a common interface for the implementation of HLT data source components. The child class must implement the functions:\begin{itemize}
+\item {\bf Do\-Init}{\rm (p.\,\pageref{classAliHLTComponent_b5})} (optional)\item {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTComponent_b6})} (optional)\item {\bf Get\-Event}{\rm (p.\,\pageref{classAliHLTDataSource_d0})}\item {\bf Get\-Component\-ID}{\rm (p.\,\pageref{classAliHLTComponent_a9})}\item {\bf Get\-Output\-Data\-Type}{\rm (p.\,\pageref{classAliHLTComponent_a11})}\item {\bf Get\-Output\-Data\-Size}{\rm (p.\,\pageref{classAliHLTComponent_a12})}\item {\bf Spawn}{\rm (p.\,\pageref{classAliHLTComponent_a13})} \end{itemize}
+
+
+
+
+Definition at line 33 of file Ali\-HLTData\-Source.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTData\-Source} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTData\-Source} ()
+\item 
+int {\bf Do\-Processing} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\&edd)
+\item 
+{\bf TComponent\-Type} {\bf Get\-Component\-Type} ()
+\item 
+void {\bf Get\-Input\-Data\-Types} (vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&list)
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+virtual int {\bf Get\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks)
+\item 
+virtual int {\bf Get\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data)
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTDataSource@{Ali\-HLTData\-Source}!AliHLTDataSource@{AliHLTDataSource}}
+\index{AliHLTDataSource@{AliHLTDataSource}!AliHLTDataSource@{Ali\-HLTData\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Source::Ali\-HLTData\-Source ()}\label{classAliHLTDataSource_a0}
+
+
+standard constructor \index{AliHLTDataSource@{Ali\-HLTData\-Source}!~AliHLTDataSource@{$\sim$AliHLTDataSource}}
+\index{~AliHLTDataSource@{$\sim$AliHLTDataSource}!AliHLTDataSource@{Ali\-HLTData\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTData\-Source::$\sim${\bf Ali\-HLTData\-Source} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTDataSource_a1}
+
+
+standard destructor 
+
+Definition at line 41 of file Ali\-HLTData\-Source.cxx.
+
+\footnotesize\begin{verbatim}42 { 
+43   // see header file for class documentation
+44 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTDataSource@{Ali\-HLTData\-Source}!DoProcessing@{DoProcessing}}
+\index{DoProcessing@{DoProcessing}!AliHLTDataSource@{Ali\-HLTData\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Source::Do\-Processing (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks}, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\& {\em edd})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTDataSource_a2}
+
+
+Event processing function. The method is called by the framework to process one event. After preparation of data structures. The call is redirected to Get\-Event. \begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a7})}.
+
+Definition at line 53 of file Ali\-HLTData\-Source.cxx.
+
+References Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, Ali\-HLTComponent::Get\-Component\-ID(), Get\-Event(), HLTDebug, and HLTWarning.
+
+\footnotesize\begin{verbatim}60 {
+61   // see header file for class documentation
+62   int iResult=0;
+63   if (blocks) {
+64     // this is currently just to get rid of the warning "unused parameter"
+65   }
+66   if (evtData.fBlockCnt > 0) {
+67     HLTWarning("Data source component skips input data blocks");
+68   }
+69   iResult=GetEvent(evtData, trigData, outputPtr, size, outputBlocks);
+70   HLTDebug("component %s (%p) GetEvent finished (%d)", GetComponentID(), this, iResult);
+71   edd = NULL;
+72   return iResult;
+73 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSource@{Ali\-HLTData\-Source}!GetComponentType@{GetComponentType}}
+\index{GetComponentType@{GetComponentType}!AliHLTDataSource@{Ali\-HLTData\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf TComponent\-Type} Ali\-HLTData\-Source::Get\-Component\-Type ()\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classAliHLTDataSource_a3}
+
+
+Return {\bf Ali\-HLTComponent::k\-Source}{\rm (p.\,\pageref{classAliHLTComponent_w9w1})} type as component type. \begin{Desc}
+\item[Returns:]component type id \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a8})}.
+
+Definition at line 60 of file Ali\-HLTData\-Source.h.
+
+\footnotesize\begin{verbatim}60 { return AliHLTComponent::kSource;}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSource@{Ali\-HLTData\-Source}!GetEvent@{GetEvent}}
+\index{GetEvent@{GetEvent}!AliHLTDataSource@{Ali\-HLTData\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Source::Get\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data})\hspace{0.3cm}{\tt  [private, virtual]}}\label{classAliHLTDataSource_d1}
+
+
+The high-level data processing method. This is the default processing method; the method is called if no low level {\bf Get\-Event}{\rm (p.\,\pageref{classAliHLTDataSource_d0})} method is overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em trig\-Data}]trigger data structure \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 86 of file Ali\-HLTData\-Source.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}87 {
+88   HLTFatal("no processing method implemented");
+89   return -ENOSYS;
+90 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSource@{Ali\-HLTData\-Source}!GetEvent@{GetEvent}}
+\index{GetEvent@{GetEvent}!AliHLTDataSource@{Ali\-HLTData\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTData\-Source::Get\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks})\hspace{0.3cm}{\tt  [private, virtual]}}\label{classAliHLTDataSource_d0}
+
+
+The low-level data processing method for the component. This is the custom processing method and can be overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em trig\-Data}]trigger data structure \item[{\em output\-Ptr}]pointer to target buffer \item[{\em size}]{\em input\/}: size of target buffer {\em output\/}:size of produced data \item[{\em output\-Blocks}]list to receive output block descriptors \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 75 of file Ali\-HLTData\-Source.cxx.
+
+Referenced by Do\-Processing().
+
+\footnotesize\begin{verbatim}80 {
+81   // we just forward to the high level method, all other parameters already
+82   // have been stored internally
+83   return GetEvent(evtData, trigData);
+84 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTDataSource@{Ali\-HLTData\-Source}!GetInputDataTypes@{GetInputDataTypes}}
+\index{GetInputDataTypes@{GetInputDataTypes}!AliHLTDataSource@{Ali\-HLTData\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTData\-Source::Get\-Input\-Data\-Types (vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \& {\em list})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTDataSource_a4}
+
+
+Default implementation for all data sources. There are no input data types. 
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a10})}.
+
+Definition at line 46 of file Ali\-HLTData\-Source.cxx.
+
+\footnotesize\begin{verbatim}47 {
+48   // see header file for class documentation
+49   list.clear(); // there are no input data types
+50 }
+\end{verbatim}\normalsize 
+
+
+
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Source.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Source.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTKeyword.tex b/HLT/PHOS/latex/classAliHLTKeyword.tex
new file mode 100644 (file)
index 0000000..698d70f
--- /dev/null
@@ -0,0 +1,151 @@
+\section{Ali\-HLTKeyword Class Reference}
+\label{classAliHLTKeyword}\index{AliHLTKeyword@{AliHLTKeyword}}
+{\tt \#include $<$Ali\-HLTLogging.h$>$}
+
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTKeyword} ()
+\item 
+{\bf Ali\-HLTKeyword} ({\bf Ali\-HLTLogging} $\ast$parent, const char $\ast$keyword)
+\item 
+{\bf Ali\-HLTKeyword} (const {\bf Ali\-HLTKeyword} \&kw)
+\item 
+{\bf Ali\-HLTKeyword} \& {\bf operator=} (const {\bf Ali\-HLTKeyword} \&kw)
+\item 
+{\bf $\sim$Ali\-HLTKeyword} ()
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTLogging} $\ast$ {\bf fp\-Parent}
+\item 
+const char $\ast$ {\bf fp\-Original}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTKeyword@{Ali\-HLTKeyword}!AliHLTKeyword@{AliHLTKeyword}}
+\index{AliHLTKeyword@{AliHLTKeyword}!AliHLTKeyword@{Ali\-HLTKeyword}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTKeyword::Ali\-HLTKeyword ()\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTKeyword_a0}
+
+
+
+
+Definition at line 228 of file Ali\-HLTLogging.h.
+
+\footnotesize\begin{verbatim}229     :
+230     fpParent(NULL),
+231     fpOriginal(NULL)
+232     {
+233     }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTKeyword@{Ali\-HLTKeyword}!AliHLTKeyword@{AliHLTKeyword}}
+\index{AliHLTKeyword@{AliHLTKeyword}!AliHLTKeyword@{Ali\-HLTKeyword}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTKeyword::Ali\-HLTKeyword ({\bf Ali\-HLTLogging} $\ast$ {\em parent}, const char $\ast$ {\em keyword})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTKeyword_a1}
+
+
+
+
+Definition at line 235 of file Ali\-HLTLogging.h.
+
+\footnotesize\begin{verbatim}236     :
+237     fpParent(parent),
+238     fpOriginal(NULL)
+239     {
+240       if (parent) {
+241         fpOriginal=fpParent->SetKeyword(keyword);
+242       }
+243     }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTKeyword@{Ali\-HLTKeyword}!AliHLTKeyword@{AliHLTKeyword}}
+\index{AliHLTKeyword@{AliHLTKeyword}!AliHLTKeyword@{Ali\-HLTKeyword}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTKeyword::Ali\-HLTKeyword (const {\bf Ali\-HLTKeyword} \& {\em kw})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTKeyword_a2}
+
+
+
+
+Definition at line 245 of file Ali\-HLTLogging.h.
+
+\footnotesize\begin{verbatim}246     :
+247     fpParent(kw.fpParent),
+248     fpOriginal(kw.fpOriginal)
+249     {
+250     }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTKeyword@{Ali\-HLTKeyword}!~AliHLTKeyword@{$\sim$AliHLTKeyword}}
+\index{~AliHLTKeyword@{$\sim$AliHLTKeyword}!AliHLTKeyword@{Ali\-HLTKeyword}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTKeyword::$\sim${\bf Ali\-HLTKeyword} ()\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTKeyword_a4}
+
+
+
+
+Definition at line 259 of file Ali\-HLTLogging.h.
+
+\footnotesize\begin{verbatim}260     {
+261       if (fpParent) {
+262         fpParent->SetKeyword(fpOriginal);
+263       }
+264     }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTKeyword@{Ali\-HLTKeyword}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTKeyword@{Ali\-HLTKeyword}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTKeyword}\& Ali\-HLTKeyword::operator= (const {\bf Ali\-HLTKeyword} \& {\em kw})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTKeyword_a3}
+
+
+
+
+Definition at line 252 of file Ali\-HLTLogging.h.
+
+References fp\-Original, and fp\-Parent.
+
+\footnotesize\begin{verbatim}253     { 
+254       fpParent=kw.fpParent;
+255       fpOriginal=kw.fpOriginal;
+256       return *this;
+257     }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTKeyword@{Ali\-HLTKeyword}!fpOriginal@{fpOriginal}}
+\index{fpOriginal@{fpOriginal}!AliHLTKeyword@{Ali\-HLTKeyword}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf Ali\-HLTKeyword::fp\-Original}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTKeyword_r1}
+
+
+transient 
+
+
+
+Definition at line 268 of file Ali\-HLTLogging.h.
+
+Referenced by operator=().\index{AliHLTKeyword@{Ali\-HLTKeyword}!fpParent@{fpParent}}
+\index{fpParent@{fpParent}!AliHLTKeyword@{Ali\-HLTKeyword}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTLogging}$\ast$ {\bf Ali\-HLTKeyword::fp\-Parent}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTKeyword_r0}
+
+
+
+
+Definition at line 267 of file Ali\-HLTLogging.h.
+
+Referenced by operator=().
+
+The documentation for this class was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTLogging.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTLogging.eps b/HLT/PHOS/latex/classAliHLTLogging.eps
new file mode 100644 (file)
index 0000000..f0e066d
--- /dev/null
@@ -0,0 +1,236 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 614.525
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 0.813636 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 11 def
+/cols 2 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTLogging) cw
+(AliHLTComponent) cw
+(AliHLTComponentHandler) cw
+(AliHLTConfiguration) cw
+(AliHLTConfigurationHandler) cw
+(AliHLTConsumerDescriptor) cw
+(AliHLTDataBuffer) cw
+(AliHLTMessage) cw
+(AliHLTModuleAgent) cw
+(AliHLTSystem) cw
+(AliHLTTask) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTLogging) 0 10 box
+ (AliHLTComponent) 1 9 box
+1 9 mark
+ (AliHLTComponentHandler) 1 8 box
+ (AliHLTConfiguration) 1 7 box
+ (AliHLTConfigurationHandler) 1 6 box
+ (AliHLTConsumerDescriptor) 1 5 box
+ (AliHLTDataBuffer) 1 4 box
+ (AliHLTMessage) 1 3 box
+ (AliHLTModuleAgent) 1 2 box
+ (AliHLTSystem) 1 1 box
+ (AliHLTTask) 1 0 box
+
+% ----- relations -----
+
+solid
+1 0 9.25 out
+solid
+0 0 9.5 hedge
+solid
+0 0 8.5 hedge
+solid
+0 0 7.5 hedge
+solid
+0 0 6.5 hedge
+solid
+0 0 5.5 hedge
+solid
+0 0 4.5 hedge
+solid
+0 0 3.5 hedge
+solid
+0 0 2.5 hedge
+solid
+0 0 1.5 hedge
+solid
+0 0 0.5 hedge
+solid
+0 10 0.5 vedge
diff --git a/HLT/PHOS/latex/classAliHLTLogging.tex b/HLT/PHOS/latex/classAliHLTLogging.tex
new file mode 100644 (file)
index 0000000..24c178d
--- /dev/null
@@ -0,0 +1,764 @@
+\section{Ali\-HLTLogging Class Reference}
+\label{classAliHLTLogging}\index{AliHLTLogging@{AliHLTLogging}}
+{\tt \#include $<$Ali\-HLTLogging.h$>$}
+
+Inheritance diagram for Ali\-HLTLogging::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=11cm]{classAliHLTLogging}
+\end{center}
+\end{figure}
+\subsection*{Public Types}
+\begin{CompactItemize}
+\item 
+typedef int($\ast$ {\bf Ali\-HLTDynamic\-Message} )({\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin\-Class, const char $\ast$origin\-Func, const char $\ast$file, int line, const char $\ast$message)
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+typedef int($\ast$ {\bf Init\-Ali\-Dynamic\-Message\-Callback} )()
+\end{CompactItemize}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTLogging} ()
+\item 
+{\bf Ali\-HLTLogging} (const {\bf Ali\-HLTLogging} \&)
+\item 
+{\bf Ali\-HLTLogging} \& {\bf operator=} (const {\bf Ali\-HLTLogging} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTLogging} ()
+\item 
+void {\bf Set\-Default\-Keyword} (const char $\ast$keyword)
+\item 
+const char $\ast$ {\bf Set\-Keyword} (const char $\ast$keyword)
+\item 
+const char $\ast$ {\bf Get\-Keyword} () const 
+\item 
+int {\bf Logging} ({\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin, const char $\ast$keyword, const char $\ast$message,...)
+\item 
+int {\bf Logging\-Varargs} ({\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin\-Class, const char $\ast$origin\-Func, const char $\ast$file, int line,...) const 
+\item 
+int {\bf Check\-Filter} ({\bf Ali\-HLTComponent\-Log\-Severity} severity) const 
+\item 
+void {\bf Set\-Local\-Logging\-Level} ({\bf Ali\-HLTComponent\-Log\-Severity} level)
+\item 
+{\bf Ali\-HLTComponent\-Log\-Severity} {\bf Get\-Local\-Logging\-Level} ()
+\item 
+virtual void $\ast$ {\bf Get\-Parameter} () const 
+\item 
+void {\bf Switch\-Ali\-Log} (int sw)
+\end{CompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Init} ({\bf Ali\-HLTfct\-Logging} p\-Fun)
+\item 
+int {\bf Init\-Ali\-Log\-Trap} ({\bf Ali\-HLTComponent\-Handler} $\ast$p\-Handler)
+\item 
+void {\bf Set\-Global\-Logging\-Level} ({\bf Ali\-HLTComponent\-Log\-Severity} level)
+\item 
+{\bf Ali\-HLTComponent\-Log\-Severity} {\bf Get\-Global\-Logging\-Level} ()
+\item 
+int {\bf Message} (void $\ast$param, {\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin, const char $\ast$keyword, const char $\ast$message)
+\item 
+const char $\ast$ {\bf Build\-Log\-String} (const char $\ast$format, va\_\-list ap)
+\end{CompactItemize}
+\subsection*{Static Public Attributes}
+\begin{CompactItemize}
+\item 
+ostringstream {\bf fg\-Logstr}
+\end{CompactItemize}
+\subsection*{Static Protected Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTDynamic\-Message} {\bf fg\-Ali\-Logging\-Func} = NULL
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent\-Log\-Severity} {\bf f\-Local\-Log\-Filter}
+\item 
+const char $\ast$ {\bf fp\-Default\-Keyword}
+\item 
+const char $\ast$ {\bf fp\-Current\-Keyword}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent\-Log\-Severity} {\bf fg\-Global\-Log\-Filter} = k\-HLTLog\-All
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+{\bf Ali\-HLTfct\-Logging} {\bf fg\-Logging\-Func} = NULL
+\item 
+int {\bf fg\-Use\-Ali\-Log} = 1
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+TArray\-C {\bf fg\-Ali\-HLTLogging\-Target}
+\item 
+const int {\bf fgk\-ALIHLTLOGGINGMAXBUFFERSIZE} = 10000
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Member Typedef Documentation}
+\index{AliHLTLogging@{Ali\-HLTLogging}!AliHLTDynamicMessage@{AliHLTDynamicMessage}}
+\index{AliHLTDynamicMessage@{AliHLTDynamicMessage}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ {\bf Ali\-HLTLogging::Ali\-HLTDynamic\-Message})({\bf Ali\-HLTComponent\-Log\-Severity} severity, const char $\ast$origin\-Class, const char $\ast$origin\-Func, const char $\ast$file, int line, const char $\ast$message)}\label{classAliHLTLogging_w0}
+
+
+transient 
+
+The message function for dynamic use. In order to avoid dependencies on Ali\-Root libraries, lib\-HLTbase loads the library dynamically and looks for the symbol. 
+
+Definition at line 178 of file Ali\-HLTLogging.h.\index{AliHLTLogging@{Ali\-HLTLogging}!InitAliDynamicMessageCallback@{InitAliDynamicMessageCallback}}
+\index{InitAliDynamicMessageCallback@{InitAliDynamicMessageCallback}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef int($\ast$ {\bf Ali\-HLTLogging::Init\-Ali\-Dynamic\-Message\-Callback})()}\label{classAliHLTLogging_w1}
+
+
+The init function of the message callback for dynamic use. In order to avoid dependencies on Ali\-Root libraries, lib\-HLTbase loads the library dynamically and looks for the symbol. 
+
+Definition at line 189 of file Ali\-HLTLogging.h.
+
+Referenced by Init\-Ali\-Log\-Trap().
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTLogging@{Ali\-HLTLogging}!AliHLTLogging@{AliHLTLogging}}
+\index{AliHLTLogging@{AliHLTLogging}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTLogging::Ali\-HLTLogging ()}\label{classAliHLTLogging_a0}
+
+
+
+
+Definition at line 41 of file Ali\-HLTLogging.cxx.
+
+References k\-HLTLog\-All.
+
+\footnotesize\begin{verbatim}42   :
+43   //fLocalLogFilter(kHLTLogDefault),
+44   fLocalLogFilter(kHLTLogAll),
+45   fpDefaultKeyword(NULL),
+46   fpCurrentKeyword(NULL)
+47 {
+48   // see header file for class documentation
+49   // or
+50   // refer to README to build package
+51   // or
+52   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+53 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!AliHLTLogging@{AliHLTLogging}}
+\index{AliHLTLogging@{AliHLTLogging}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTLogging::Ali\-HLTLogging (const {\bf Ali\-HLTLogging} \&)}\label{classAliHLTLogging_a1}
+
+
+
+
+Definition at line 55 of file Ali\-HLTLogging.cxx.
+
+References HLTFatal, and k\-HLTLog\-All.
+
+\footnotesize\begin{verbatim}56   :
+57   fLocalLogFilter(kHLTLogAll),
+58   fpDefaultKeyword(NULL),
+59   fpCurrentKeyword(NULL)
+60 {
+61   // see header file for class documentation
+62   HLTFatal("copy constructor untested");
+63 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!~AliHLTLogging@{$\sim$AliHLTLogging}}
+\index{~AliHLTLogging@{$\sim$AliHLTLogging}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTLogging::$\sim${\bf Ali\-HLTLogging} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTLogging_a3}
+
+
+
+
+Definition at line 78 of file Ali\-HLTLogging.cxx.
+
+\footnotesize\begin{verbatim}79 {
+80   // see header file for class documentation
+81 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTLogging@{Ali\-HLTLogging}!BuildLogString@{BuildLogString}}
+\index{BuildLogString@{BuildLogString}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTLogging::Build\-Log\-String (const char $\ast$ {\em format}, va\_\-list {\em ap})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e5}
+
+
+Build the log string from format specifier and variadac arguments \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em format}]format string of printf style \item[{\em ap}]opened and initialized argument list \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]const char string with the formatted message \end{Desc}
+
+
+Definition at line 200 of file Ali\-HLTLogging.cxx.
+
+References fg\-Ali\-HLTLogging\-Target.
+
+Referenced by Logging(), and Logging\-Varargs().
+
+\footnotesize\begin{verbatim}201 {
+202   // see header file for class documentation
+203 
+204   int iResult=0;
+205 #ifdef R__VA_COPY
+206   va_list bap;
+207   R__VA_COPY(bap, ap);
+208 #endif //R__VA_COPY
+209 
+210   // take the first argument from the list as format string if no
+211   // format was given
+212   const char* fmt = format;
+213   if (fmt==NULL) fmt=va_arg(ap, const char*);
+214 
+215   fgAliHLTLoggingTarget[0]=0;
+216   while (fmt!=NULL) {
+217     iResult=vsnprintf(fgAliHLTLoggingTarget.GetArray(), fgAliHLTLoggingTarget.GetSize(), fmt, ap);
+218     if (iResult==-1)
+219       // for compatibility with older version of vsnprintf
+220       iResult=fgAliHLTLoggingTarget.GetSize()*2;
+221     else if (iResult<fgAliHLTLoggingTarget.GetSize())
+222       break;
+223 
+224     // terminate if buffer is already at the limit
+225     if (fgAliHLTLoggingTarget.GetSize()>=fgkALIHLTLOGGINGMAXBUFFERSIZE) 
+226     {
+227       fgAliHLTLoggingTarget[fgAliHLTLoggingTarget.GetSize()-1]=0;
+228       break;
+229     }
+230 
+231     // check limitation and grow the buffer
+232     if (iResult>fgkALIHLTLOGGINGMAXBUFFERSIZE) iResult=fgkALIHLTLOGGINGMAXBUFFERSIZE;
+233     fgAliHLTLoggingTarget.Set(iResult+1);
+234 
+235     // copy the original list and skip the first argument if this was the format string
+236 #ifdef R__VA_COPY
+237     va_end(ap);
+238     R__VA_COPY(ap, bap);
+239 #else
+240     fgAliHLTLoggingTarget[fgAliHLTLoggingTarget.GetSize()-1]=0;
+241     break;
+242 #endif //R__VA_COPY
+243     if (format==NULL) va_arg(ap, const char*);
+244   }     
+245 #ifdef R__VA_COPY
+246   va_end(bap);
+247 #endif //R__VA_COPY
+248 
+249   return fgAliHLTLoggingTarget.GetArray();
+250 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!CheckFilter@{CheckFilter}}
+\index{CheckFilter@{CheckFilter}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Check\-Filter ({\bf Ali\-HLTComponent\-Log\-Severity} {\em severity}) const}\label{classAliHLTLogging_a9}
+
+
+Apply filter \begin{Desc}
+\item[Returns:]1 if message should pass \end{Desc}
+
+
+Definition at line 311 of file Ali\-HLTLogging.cxx.
+
+References k\-HLTLog\-None.
+
+Referenced by Ali\-HLTSystem::Configure(), Logging(), and Logging\-Varargs().
+
+\footnotesize\begin{verbatim}312 {
+313   // see header file for class documentation
+314 
+315   int iResult=severity==kHLTLogNone || (severity&fgGlobalLogFilter)>0 && (severity&fLocalLogFilter)>0;
+316   return iResult;
+317 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!GetGlobalLoggingLevel@{GetGlobalLoggingLevel}}
+\index{GetGlobalLoggingLevel@{GetGlobalLoggingLevel}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Log\-Severity} Ali\-HLTLogging::Get\-Global\-Logging\-Level ()\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e3}
+
+
+Get global logging level logging filter for all objects 
+
+Definition at line 326 of file Ali\-HLTLogging.cxx.
+
+References Ali\-HLTComponent\-Log\-Severity.
+
+\footnotesize\begin{verbatim}327 {
+328   // see header file for class documentation
+329 
+330   return fgGlobalLogFilter;
+331 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!GetKeyword@{GetKeyword}}
+\index{GetKeyword@{GetKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Ali\-HLTLogging::Get\-Keyword () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTLogging_a6}
+
+
+Get the current keyword 
+
+Definition at line 75 of file Ali\-HLTLogging.h.
+
+Referenced by Logging\-Varargs().
+
+\footnotesize\begin{verbatim}76     {
+77       if (fpCurrentKeyword) return fpCurrentKeyword;
+78       else if (fpDefaultKeyword) return fpDefaultKeyword;
+79       return HLT_DEFAULT_LOG_KEYWORD;
+80     }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!GetLocalLoggingLevel@{GetLocalLoggingLevel}}
+\index{GetLocalLoggingLevel@{GetLocalLoggingLevel}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Log\-Severity} Ali\-HLTLogging::Get\-Local\-Logging\-Level ()}\label{classAliHLTLogging_a11}
+
+
+Get local logging level logging filter for individual object 
+
+Definition at line 341 of file Ali\-HLTLogging.cxx.
+
+References Ali\-HLTComponent\-Log\-Severity.
+
+Referenced by Init\-Ali\-Log\-Trap().
+
+\footnotesize\begin{verbatim}342 {
+343   // see header file for class documentation
+344 
+345   return fLocalLogFilter;
+346 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!GetParameter@{GetParameter}}
+\index{GetParameter@{GetParameter}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual void$\ast$ Ali\-HLTLogging::Get\-Parameter () const\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classAliHLTLogging_a12}
+
+
+Get parameter given by the external caller. This functionality is not yet implemented. It is intended to pass the parameter pointer given to the component at initialization back to the caller. 
+
+Definition at line 162 of file Ali\-HLTLogging.h.
+
+\footnotesize\begin{verbatim}162 {return NULL;}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!Init@{Init}}
+\index{Init@{Init}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Init ({\bf Ali\-HLTfct\-Logging} {\em p\-Fun})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e0}
+
+
+Init the Ali\-Logging class for use from external package. This initializes the logging callback. \par
+ Only deployed by external users of the C wrapper interface, not used when running in Ali\-Root 
+
+Definition at line 88 of file Ali\-HLTLogging.cxx.
+
+References fg\-Logging\-Func.
+
+Referenced by Ali\-HLTComponent\-Handler::Ali\-HLTComponent\-Handler(), and Ali\-HLTComponent\-Handler::Set\-Environment().
+
+\footnotesize\begin{verbatim}89 {
+90   // see header file for class documentation
+91   if (fgLoggingFunc!=NULL && fgLoggingFunc!=pFun) {
+92     (*fgLoggingFunc)(NULL/*fParam*/, kHLTLogWarning, "AliHLTLogging::Init", "no key", "overriding previously initialized logging function");    
+93   }
+94   fgLoggingFunc=pFun;
+95   
+96   return 0;
+97 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!InitAliLogTrap@{InitAliLogTrap}}
+\index{InitAliLogTrap@{InitAliLogTrap}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Init\-Ali\-Log\-Trap ({\bf Ali\-HLTComponent\-Handler} $\ast$ {\em p\-Handler})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e1}
+
+
+Init the message trap in Ali\-Log. This initializes the Ali\-Log trap, the Ali\-Log class is the logging mechanism of Ali\-Root. The trap can fetch log messages written to Ali\-Log, components and detector algorithms can use the Ali\-Log mechanism to be as close as possible to Offline habits. \par
+ Only used with external users of the C wrapper interface, not used when running in Ali\-Root 
+
+Definition at line 99 of file Ali\-HLTLogging.cxx.
+
+References Ali\-HLTComponent\-Log\-Severity, Ali\-HLTComponent\-Handler::Find\-Symbol(), Get\-Local\-Logging\-Level(), Init\-Ali\-Dynamic\-Message\-Callback, k\-HLTLog\-Error, Ali\-HLTComponent\-Handler::Load\-Library(), Message(), and Set\-Local\-Logging\-Level().
+
+Referenced by Ali\-HLT\_\-C\_\-Component\_\-Init\-System().
+
+\footnotesize\begin{verbatim}100 {
+101   // see header file for class documentation
+102   int iResult=0;
+103   if (pHandler) {
+104     AliHLTComponentLogSeverity loglevel=pHandler->GetLocalLoggingLevel();
+105     pHandler->SetLocalLoggingLevel(kHLTLogError);
+106     pHandler->LoadLibrary("libAliHLTUtil.so");
+107     pHandler->SetLocalLoggingLevel(loglevel);
+108     InitAliDynamicMessageCallback pFunc=(InitAliDynamicMessageCallback)pHandler->FindSymbol("libAliHLTUtil.so", "InitAliDynamicMessageCallback"); 
+109     if (pFunc) {
+110       iResult=(*pFunc)();
+111     } else {
+112       Message(NULL, kHLTLogError, "AliHLTLogging::InitAliLogTrap", "init logging",
+113               "can not initialize AliLog callback");
+114       iResult=-ENOSYS;
+115     }
+116   } else {
+117     iResult=-EINVAL;
+118   }
+119   
+120   return iResult;
+121 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!Logging@{Logging}}
+\index{Logging@{Logging}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Logging ({\bf Ali\-HLTComponent\-Log\-Severity} {\em severity}, const char $\ast$ {\em origin}, const char $\ast$ {\em keyword}, const char $\ast$ {\em message},  {\em ...})}\label{classAliHLTLogging_a7}
+
+
+Genaral logging function 
+
+Definition at line 252 of file Ali\-HLTLogging.cxx.
+
+References Build\-Log\-String(), Check\-Filter(), fg\-Ali\-Logging\-Func, fg\-Use\-Ali\-Log, and Message().
+
+Referenced by Ali\-HLTData\-Buffer::Create\-Raw\-Buffer(), Ali\-HLTData\-Buffer::Delete\-Raw\-Buffers(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Deinit(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Deinit(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Deinit(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Deinit(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Deinit(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Init(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Init(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Init(), Ali\-HLTConfiguration::Global\-Deinit(), Ali\-HLTConfiguration::Global\-Init(), Ali\-HLTModule\-Agent::Print\-Status(), Ali\-HLTModule\-Agent::Register(), Ali\-HLTData\-Buffer::Release\-Raw\-Buffer(), and Ali\-HLTModule\-Agent::Unregister().
+
+\footnotesize\begin{verbatim}255 {
+256   // see header file for class documentation
+257   int iResult=CheckFilter(severity);
+258   if (iResult>0) {
+259     va_list args;
+260     va_start(args, format);
+261     if (fgLoggingFunc) {
+262       iResult = (*fgLoggingFunc)(NULL/*fParam*/, severity, origin, keyword, AliHLTLogging::BuildLogString(format, args ));
+263     } else {
+264       if (fgUseAliLog!=0 && fgAliLoggingFunc!=NULL)
+265         iResult=(*fgAliLoggingFunc)(severity, NULL, origin, NULL, 0, AliHLTLogging::BuildLogString(format, args ));
+266       else
+267         iResult=Message(NULL/*fParam*/, severity, origin, keyword, AliHLTLogging::BuildLogString(format, args ));
+268     }
+269     va_end(args);
+270   }
+271   return iResult;
+272 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!LoggingVarargs@{LoggingVarargs}}
+\index{LoggingVarargs@{LoggingVarargs}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Logging\-Varargs ({\bf Ali\-HLTComponent\-Log\-Severity} {\em severity}, const char $\ast$ {\em origin\-Class}, const char $\ast$ {\em origin\-Func}, const char $\ast$ {\em file}, int {\em line},  {\em ...}) const}\label{classAliHLTLogging_a8}
+
+
+
+
+Definition at line 274 of file Ali\-HLTLogging.cxx.
+
+References Build\-Log\-String(), Check\-Filter(), fg\-Ali\-Logging\-Func, fg\-Use\-Ali\-Log, Get\-Keyword(), and Message().
+
+Referenced by Ali\-HLTOffline\-Interface::Set\-Params\-To\-Components().
+
+\footnotesize\begin{verbatim}277 {
+278   // see header file for class documentation
+279 
+280   if (file==NULL && line==0) {
+281     // this is currently just to get rid of the warning "unused parameter"
+282   }
+283   int iResult=CheckFilter(severity);
+284   if (iResult>0) {
+285     const char* separator="";
+286     TString origin;
+287     if (originClass) {
+288         origin+=originClass;
+289         separator="::";
+290     }
+291     if (originFunc) {
+292         origin+=separator;
+293         origin+=originFunc;
+294     }
+295     va_list args;
+296     va_start(args, line);
+297 
+298     if (fgLoggingFunc) {
+299       iResult=(*fgLoggingFunc)(NULL/*fParam*/, severity, origin.Data(), GetKeyword(), AliHLTLogging::BuildLogString(NULL, args ));
+300     } else {
+301       if (fgUseAliLog!=0 && fgAliLoggingFunc!=NULL)
+302         iResult=(*fgAliLoggingFunc)(severity, originClass, originFunc, file, line, AliHLTLogging::BuildLogString(NULL, args ));
+303       else
+304         iResult=Message(NULL/*fParam*/, severity, origin.Data(), GetKeyword(), AliHLTLogging::BuildLogString(NULL, args ));
+305     }
+306     va_end(args);
+307   }
+308   return iResult;
+309 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!Message@{Message}}
+\index{Message@{Message}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTLogging::Message (void $\ast$ {\em param}, {\bf Ali\-HLTComponent\-Log\-Severity} {\em severity}, const char $\ast$ {\em origin}, const char $\ast$ {\em keyword}, const char $\ast$ {\em message})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e4}
+
+
+Print message to stdout 
+
+Definition at line 123 of file Ali\-HLTLogging.cxx.
+
+References HLT\_\-DEFAULT\_\-LOG\_\-KEYWORD, k\-HLTLog\-Benchmark, k\-HLTLog\-Debug, k\-HLTLog\-Error, k\-HLTLog\-Fatal, k\-HLTLog\-Info, and k\-HLTLog\-Warning.
+
+Referenced by Init\-Ali\-Log\-Trap(), Logging(), Logging\-Varargs(), and Ali\-HLTComponent::Print\-Component\-Data\-Type\-Info().
+
+\footnotesize\begin{verbatim}126 {
+127   // see header file for class documentation
+128   int iResult=0;
+129   if (param==NULL) {
+130     // this is currently just to get rid of the warning "unused parameter"
+131   }
+132 
+133   const char* strSeverity="";
+134   switch (severity) {
+135   case kHLTLogBenchmark: 
+136     strSeverity="benchmark";
+137     break;
+138   case kHLTLogDebug:
+139     strSeverity="debug";
+140     break;
+141   case kHLTLogInfo:
+142     strSeverity="info";
+143     break;
+144   case kHLTLogWarning:
+145     strSeverity="warning";
+146     break;
+147   case kHLTLogError:
+148     strSeverity="error";
+149     break;
+150   case kHLTLogFatal:
+151     strSeverity="fatal";
+152     break;
+153   default:
+154     break;
+155   }
+156   TString out="HLT Log ";
+157   out+=strSeverity;
+158   if (origin && origin[0]!=0) {out+=": <"; out+=origin; out+="> ";}
+159   out+=" "; out+=message;
+160   if (keyword!=NULL && strcmp(keyword, HLT_DEFAULT_LOG_KEYWORD)!=0) {
+161     out+=" ("; out+=keyword; out +=")";
+162   }
+163   cout << out.Data() << endl;
+164   return iResult;
+165 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTLogging} \& Ali\-HLTLogging::operator= (const {\bf Ali\-HLTLogging} \&)}\label{classAliHLTLogging_a2}
+
+
+
+
+Definition at line 65 of file Ali\-HLTLogging.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}66 { 
+67   // see header file for class documentation
+68   HLTFatal("assignment operator untested");
+69   return *this;
+70 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!SetDefaultKeyword@{SetDefaultKeyword}}
+\index{SetDefaultKeyword@{SetDefaultKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTLogging::Set\-Default\-Keyword (const char $\ast$ {\em keyword})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTLogging_a4}
+
+
+set the default key word the keyword is intended to simplify the use of logging macros 
+
+Definition at line 59 of file Ali\-HLTLogging.h.
+
+\footnotesize\begin{verbatim}59 { fpDefaultKeyword=keyword; }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!SetGlobalLoggingLevel@{SetGlobalLoggingLevel}}
+\index{SetGlobalLoggingLevel@{SetGlobalLoggingLevel}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTLogging::Set\-Global\-Logging\-Level ({\bf Ali\-HLTComponent\-Log\-Severity} {\em level})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_e2}
+
+
+Set global logging level logging filter for all objects 
+
+Definition at line 319 of file Ali\-HLTLogging.cxx.
+
+References fg\-Global\-Log\-Filter.
+
+\footnotesize\begin{verbatim}320 {
+321   // see header file for class documentation
+322 
+323   fgGlobalLogFilter=level;
+324 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!SetKeyword@{SetKeyword}}
+\index{SetKeyword@{SetKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Ali\-HLTLogging::Set\-Keyword (const char $\ast$ {\em keyword})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTLogging_a5}
+
+
+Set a temporary keyword returns the old key value 
+
+Definition at line 65 of file Ali\-HLTLogging.h.
+
+\footnotesize\begin{verbatim}66     { 
+67       const char* currentKeyword=fpCurrentKeyword;
+68       fpCurrentKeyword=keyword;
+69       return currentKeyword; 
+70     }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!SetLocalLoggingLevel@{SetLocalLoggingLevel}}
+\index{SetLocalLoggingLevel@{SetLocalLoggingLevel}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTLogging::Set\-Local\-Logging\-Level ({\bf Ali\-HLTComponent\-Log\-Severity} {\em level})}\label{classAliHLTLogging_a10}
+
+
+Set local logging level logging filter for individual object 
+
+Definition at line 333 of file Ali\-HLTLogging.cxx.
+
+References f\-Local\-Log\-Filter.
+
+Referenced by Ali\-HLTComponent::Ali\-HLTComponent(), Ali\-HLTComponent::Init(), and Init\-Ali\-Log\-Trap().
+
+\footnotesize\begin{verbatim}334 {
+335   // see header file for class documentation
+336 
+337   fLocalLogFilter=level;
+338 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTLogging@{Ali\-HLTLogging}!SwitchAliLog@{SwitchAliLog}}
+\index{SwitchAliLog@{SwitchAliLog}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTLogging::Switch\-Ali\-Log (int {\em sw})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTLogging_a13}
+
+
+Switch logging through Ali\-Log on or off \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sw}]1 = logging through Ali\-Log \end{description}
+\end{Desc}
+
+
+Definition at line 168 of file Ali\-HLTLogging.h.
+
+\footnotesize\begin{verbatim}168 {fgUseAliLog=(sw!=0);}
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTLogging@{Ali\-HLTLogging}!fgAliHLTLoggingTarget@{fgAliHLTLoggingTarget}}
+\index{fgAliHLTLoggingTarget@{fgAliHLTLoggingTarget}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TArray\-C {\bf Ali\-HLTLogging::fg\-Ali\-HLTLogging\-Target}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v3}
+
+
+The global logging buffer. The buffer is created with an initial size and grown dynamically on demand. 
+
+Referenced by Build\-Log\-String().\index{AliHLTLogging@{Ali\-HLTLogging}!fgAliLoggingFunc@{fgAliLoggingFunc}}
+\index{fgAliLoggingFunc@{fgAliLoggingFunc}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTLogging::Ali\-HLTDynamic\-Message} {\bf Ali\-HLTLogging::fg\-Ali\-Logging\-Func} = NULL\hspace{0.3cm}{\tt  [static, protected]}}\label{classAliHLTLogging_t0}
+
+
+the Ali\-Root logging function 
+
+Definition at line 75 of file Ali\-HLTLogging.cxx.
+
+Referenced by Logging(), and Logging\-Varargs().\index{AliHLTLogging@{Ali\-HLTLogging}!fgGlobalLogFilter@{fgGlobalLogFilter}}
+\index{fgGlobalLogFilter@{fgGlobalLogFilter}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Log\-Severity} {\bf Ali\-HLTLogging::fg\-Global\-Log\-Filter} = k\-HLTLog\-All\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v0}
+
+
+transient 
+
+the global logging filter 
+
+Definition at line 73 of file Ali\-HLTLogging.cxx.
+
+Referenced by Set\-Global\-Logging\-Level().\index{AliHLTLogging@{Ali\-HLTLogging}!fgkALIHLTLOGGINGMAXBUFFERSIZE@{fgkALIHLTLOGGINGMAXBUFFERSIZE}}
+\index{fgkALIHLTLOGGINGMAXBUFFERSIZE@{fgkALIHLTLOGGINGMAXBUFFERSIZE}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int {\bf Ali\-HLTLogging::fgk\-ALIHLTLOGGINGMAXBUFFERSIZE} = 10000\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v4}
+
+
+transient 
+
+the maximum size of the buffer 
+
+Definition at line 86 of file Ali\-HLTLogging.cxx.\index{AliHLTLogging@{Ali\-HLTLogging}!fgLoggingFunc@{fgLoggingFunc}}
+\index{fgLoggingFunc@{fgLoggingFunc}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTfct\-Logging} {\bf Ali\-HLTLogging::fg\-Logging\-Func} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v1}
+
+
+logging callback from the framework 
+
+Definition at line 74 of file Ali\-HLTLogging.cxx.
+
+Referenced by Init().\index{AliHLTLogging@{Ali\-HLTLogging}!fgLogstr@{fgLogstr}}
+\index{fgLogstr@{fgLogstr}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}ostringstream {\bf Ali\-HLTLogging::fg\-Logstr}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTLogging_s0}
+
+
+target stream for Ali\-Root logging methods 
+
+Definition at line 72 of file Ali\-HLTLogging.cxx.\index{AliHLTLogging@{Ali\-HLTLogging}!fgUseAliLog@{fgUseAliLog}}
+\index{fgUseAliLog@{fgUseAliLog}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTLogging::fg\-Use\-Ali\-Log} = 1\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTLogging_v2}
+
+
+transient 
+
+switch for logging through Ali\-Log, default on 
+
+Definition at line 76 of file Ali\-HLTLogging.cxx.
+
+Referenced by Logging(), and Logging\-Varargs().\index{AliHLTLogging@{Ali\-HLTLogging}!fLocalLogFilter@{fLocalLogFilter}}
+\index{fLocalLogFilter@{fLocalLogFilter}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Log\-Severity} {\bf Ali\-HLTLogging::f\-Local\-Log\-Filter}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTLogging_r0}
+
+
+the local logging filter for one class 
+
+Definition at line 199 of file Ali\-HLTLogging.h.
+
+Referenced by Set\-Local\-Logging\-Level().\index{AliHLTLogging@{Ali\-HLTLogging}!fpCurrentKeyword@{fpCurrentKeyword}}
+\index{fpCurrentKeyword@{fpCurrentKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf Ali\-HLTLogging::fp\-Current\-Keyword}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTLogging_r2}
+
+
+transient 
+
+current keyword 
+
+Definition at line 205 of file Ali\-HLTLogging.h.\index{AliHLTLogging@{Ali\-HLTLogging}!fpDefaultKeyword@{fpDefaultKeyword}}
+\index{fpDefaultKeyword@{fpDefaultKeyword}!AliHLTLogging@{Ali\-HLTLogging}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf Ali\-HLTLogging::fp\-Default\-Keyword}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTLogging_r1}
+
+
+default keyword 
+
+Definition at line 203 of file Ali\-HLTLogging.h.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTLogging.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTLogging.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTMessage.eps b/HLT/PHOS/latex/classAliHLTMessage.eps
new file mode 100644 (file)
index 0000000..9096736
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 366.972
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.3625 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTMessage) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTMessage) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTMessage.tex b/HLT/PHOS/latex/classAliHLTMessage.tex
new file mode 100644 (file)
index 0000000..92fd5d3
--- /dev/null
@@ -0,0 +1,611 @@
+\section{Ali\-HLTMessage Class Reference}
+\label{classAliHLTMessage}\index{AliHLTMessage@{AliHLTMessage}}
+{\tt \#include $<$Ali\-HLTMessage.h$>$}
+
+Inheritance diagram for Ali\-HLTMessage::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTMessage}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Serialization of Root objects for transport in the Alice HLT analysis chain. This is the original Root TMessage implementation with a few minor modifications.\begin{itemize}
+\item the {\tt  {\bf Ali\-HLTMessage(void $\ast$buf, Int\_\-t bufsize)}{\rm (p.\,\pageref{classAliHLTMessage_a1})}} constructor has been made public in order to be used externally.\end{itemize}
+
+
+The class can be used to extract an object from an input data block, or a data block received via the HOMER interface or from the file writer. \small\begin{alltt}
+  AliHLTMessage msg(buffer, size);
+  TObject pObj=msg.ReadObject(msg.GetClass());
+ \end{alltt}\normalsize 
+
+
+
+Definition at line 66 of file Ali\-HLTMessage.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTMessage} (UInt\_\-t what=k\-MESS\_\-ANY)
+\item 
+{\bf Ali\-HLTMessage} (void $\ast$buf, Int\_\-t bufsize)
+\item 
+virtual {\bf $\sim$Ali\-HLTMessage} ()
+\item 
+void {\bf Set\-Length} () const 
+\item 
+void {\bf Forward} ()
+\item 
+TClass $\ast$ {\bf Get\-Class} () const 
+\item 
+void {\bf Reset} ()
+\item 
+void {\bf Reset} (UInt\_\-t what)
+\item 
+UInt\_\-t {\bf What} () const 
+\item 
+void {\bf Set\-What} (UInt\_\-t what)
+\item 
+void {\bf Set\-Compression\-Level} (Int\_\-t level=1)
+\item 
+Int\_\-t {\bf Get\-Compression\-Level} () const 
+\item 
+Int\_\-t {\bf Compress} ()
+\item 
+Int\_\-t {\bf Uncompress} ()
+\item 
+char $\ast$ {\bf Comp\-Buffer} () const 
+\item 
+Int\_\-t {\bf Comp\-Length} () const 
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTMessage} (const {\bf Ali\-HLTMessage} \&)
+\item 
+void {\bf operator=} (const {\bf Ali\-HLTMessage} \&)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+UInt\_\-t {\bf f\-What}
+\item 
+TClass $\ast$ {\bf f\-Class}
+\item 
+Int\_\-t {\bf f\-Compress}
+\item 
+char $\ast$ {\bf f\-Buf\-Comp}
+\item 
+char $\ast$ {\bf f\-Buf\-Comp\-Cur}
+\item 
+char $\ast$ {\bf f\-Comp\-Pos}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTMessage@{Ali\-HLTMessage}!AliHLTMessage@{AliHLTMessage}}
+\index{AliHLTMessage@{AliHLTMessage}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTMessage::Ali\-HLTMessage (UInt\_\-t {\em what} = {\tt kMESS\_\-ANY})}\label{classAliHLTMessage_a0}
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!AliHLTMessage@{AliHLTMessage}}
+\index{AliHLTMessage@{AliHLTMessage}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTMessage::Ali\-HLTMessage (void $\ast$ {\em buf}, Int\_\-t {\em bufsize})}\label{classAliHLTMessage_a1}
+
+
+
+
+Definition at line 77 of file Ali\-HLTMessage.cxx.
+
+References f\-Buf\-Comp, f\-Buf\-Comp\-Cur, f\-Class, f\-Comp\-Pos, f\-Compress, f\-What, and Uncompress().
+
+\footnotesize\begin{verbatim}78   :
+79 # if defined(ROOT_TBufferFile) || defined(HAVE_TBUFFERFILE_H)
+80   TBufferFile(kRead, bufsize, buf, 0),
+81 # else
+82   TBuffer(kRead, bufsize, buf, 0),
+83 # endif
+84   AliHLTLogging()
+85 {
+86    // Create a AliHLTMessage object for reading objects. The objects will be
+87    // read from buf. Use the What() method to get the message type.
+88 
+89    // skip space at the beginning of the message reserved for the message length
+90    fBufCur += sizeof(UInt_t);
+91 
+92    *this >> fWhat;
+93 
+94    fCompress   = 0;
+95    fBufComp    = 0;
+96    fBufCompCur = 0;
+97    fCompPos    = 0;
+98 
+99    if (fWhat & kMESS_ZIP) {
+100       // if buffer has kMESS_ZIP set, move it to fBufComp and uncompress
+101       fBufComp    = fBuffer;
+102       fBufCompCur = fBuffer + bufsize;
+103       fBuffer     = 0;
+104       Uncompress();
+105    }
+106 
+107    if (fWhat == kMESS_OBJECT) {
+108       InitMap();
+109       fClass = ReadClass();     // get first the class stored in message
+110       SetBufferOffset(sizeof(UInt_t) + sizeof(fWhat));
+111       ResetMap();
+112    } else {
+113       fClass = 0;
+114    }
+115 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!~AliHLTMessage@{$\sim$AliHLTMessage}}
+\index{~AliHLTMessage@{$\sim$AliHLTMessage}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTMessage::$\sim${\bf Ali\-HLTMessage} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTMessage_a2}
+
+
+
+
+Definition at line 118 of file Ali\-HLTMessage.cxx.
+
+\footnotesize\begin{verbatim}119 {
+120    // Clean up compression buffer.
+121    delete [] fBufComp;
+122 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!AliHLTMessage@{AliHLTMessage}}
+\index{AliHLTMessage@{AliHLTMessage}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTMessage::Ali\-HLTMessage (const {\bf Ali\-HLTMessage} \&)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTMessage_d0}
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTMessage@{Ali\-HLTMessage}!CompBuffer@{CompBuffer}}
+\index{CompBuffer@{CompBuffer}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ Ali\-HLTMessage::Comp\-Buffer () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTMessage_a14}
+
+
+
+
+Definition at line 93 of file Ali\-HLTMessage.h.
+
+\footnotesize\begin{verbatim}93 { return fBufComp; }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!CompLength@{CompLength}}
+\index{CompLength@{CompLength}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t Ali\-HLTMessage::Comp\-Length () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTMessage_a15}
+
+
+
+
+Definition at line 94 of file Ali\-HLTMessage.h.
+
+References f\-Buf\-Comp\-Cur.
+
+Referenced by Compress().
+
+\footnotesize\begin{verbatim}94 { return (Int_t)(fBufCompCur - fBufComp); }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!Compress@{Compress}}
+\index{Compress@{Compress}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t Ali\-HLTMessage::Compress ()}\label{classAliHLTMessage_a12}
+
+
+
+
+Definition at line 214 of file Ali\-HLTMessage.cxx.
+
+References Comp\-Length(), f\-Buf\-Comp, f\-Buf\-Comp\-Cur, f\-Comp\-Pos, f\-Compress, f\-What, and R\_\-\_\-zip().
+
+\footnotesize\begin{verbatim}215 {
+216    // Compress the message. The message will only be compressed if the
+217    // compression level > 0 and the if the message is > 256 bytes.
+218    // Returns -1 in case of error (when compression fails or
+219    // when the message increases in size in some pathological cases),
+220    // otherwise returns 0.
+221 
+222    if (fCompress == 0) {
+223       // no compression specified
+224       if (fBufComp) {
+225          delete [] fBufComp;
+226          fBufComp    = 0;
+227          fBufCompCur = 0;
+228          fCompPos    = 0;
+229       }
+230       return 0;
+231    }
+232 
+233    if (fBufComp && fCompPos == fBufCur) {
+234       // the message was already compressed
+235       return 0;
+236    }
+237 
+238    // remove any existing compressed buffer before compressing modified message
+239    if (fBufComp) {
+240       delete [] fBufComp;
+241       fBufComp    = 0;
+242       fBufCompCur = 0;
+243       fCompPos    = 0;
+244    }
+245 
+246    if (Length() <= (Int_t)(256 + 2*sizeof(UInt_t))) {
+247       // this message is too small to be compressed
+248       return 0;
+249    }
+250 
+251    Int_t hdrlen   = 2*sizeof(UInt_t);
+252    Int_t messlen  = Length() - hdrlen;
+253    Int_t nbuffers = messlen / kMAXBUF;
+254    Int_t chdrlen  = 3*sizeof(UInt_t);   // compressed buffer header length
+255    Int_t buflen   = TMath::Max(512, chdrlen + messlen + 9*nbuffers);
+256    fBufComp       = new char[buflen];
+257    char *messbuf  = Buffer() + hdrlen;
+258    char *bufcur   = fBufComp + chdrlen;
+259    Int_t noutot   = 0;
+260    Int_t nzip     = 0;
+261    Int_t nout, bufmax;
+262    for (Int_t i = 0; i <= nbuffers; i++) {
+263       if (i == nbuffers)
+264          bufmax = messlen - nzip;
+265       else
+266          bufmax = kMAXBUF;
+267       R__zip(fCompress, &bufmax, messbuf, &bufmax, bufcur, &nout);
+268       if (nout == 0 || nout >= messlen) {
+269          //this happens when the buffer cannot be compressed
+270          delete [] fBufComp;
+271          fBufComp    = 0;
+272          fBufCompCur = 0;
+273          fCompPos    = 0;
+274          return -1;
+275       }
+276       bufcur  += nout;
+277       noutot  += nout;
+278       messbuf += kMAXBUF;
+279       nzip    += kMAXBUF;
+280    }
+281    fBufCompCur = bufcur;
+282    fCompPos    = fBufCur;
+283 
+284    bufcur = fBufComp;
+285    tobuf(bufcur, (UInt_t)(CompLength() - sizeof(UInt_t)));
+286    Int_t what = fWhat | kMESS_ZIP;
+287    tobuf(bufcur, what);
+288    tobuf(bufcur, Length());    // original uncompressed buffer length
+289 
+290    return 0;
+291 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!Forward@{Forward}}
+\index{Forward@{Forward}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTMessage::Forward ()}\label{classAliHLTMessage_a4}
+
+
+
+
+Definition at line 125 of file Ali\-HLTMessage.cxx.
+
+References f\-Comp\-Pos.
+
+\footnotesize\begin{verbatim}126 {
+127    // Change a buffer that was received into one that can be send, i.e.
+128    // forward a just received message.
+129 
+130    if (IsReading()) {
+131       SetWriteMode();
+132       SetBufferOffset(fBufSize);
+133 
+134       if (fBufComp) {
+135          fCompPos = fBufCur;
+136       }
+137    }
+138 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!GetClass@{GetClass}}
+\index{GetClass@{GetClass}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TClass$\ast$ Ali\-HLTMessage::Get\-Class () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTMessage_a5}
+
+
+
+
+Definition at line 83 of file Ali\-HLTMessage.h.
+
+Referenced by Ali\-HLTComponent::Create\-Input\-Object().
+
+\footnotesize\begin{verbatim}83 { return fClass; }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!GetCompressionLevel@{GetCompressionLevel}}
+\index{GetCompressionLevel@{GetCompressionLevel}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t Ali\-HLTMessage::Get\-Compression\-Level () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTMessage_a11}
+
+
+
+
+Definition at line 90 of file Ali\-HLTMessage.h.
+
+\footnotesize\begin{verbatim}90 { return fCompress; }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTMessage::operator= (const {\bf Ali\-HLTMessage} \&)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTMessage_d1}
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!Reset@{Reset}}
+\index{Reset@{Reset}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTMessage::Reset (UInt\_\-t {\em what})\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTMessage_a7}
+
+
+
+
+Definition at line 85 of file Ali\-HLTMessage.h.
+
+References Reset(), and Set\-What().
+
+\footnotesize\begin{verbatim}85 { SetWhat(what); Reset(); }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!Reset@{Reset}}
+\index{Reset@{Reset}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTMessage::Reset ()}\label{classAliHLTMessage_a6}
+
+
+
+
+Definition at line 141 of file Ali\-HLTMessage.cxx.
+
+References f\-Buf\-Comp, f\-Buf\-Comp\-Cur, f\-Comp\-Pos, and f\-What.
+
+Referenced by Reset().
+
+\footnotesize\begin{verbatim}142 {
+143    // Reset the message buffer so we can use (i.e. fill) it again.
+144 
+145    SetBufferOffset(sizeof(UInt_t) + sizeof(fWhat));
+146    ResetMap();
+147 
+148    if (fBufComp) {
+149       delete [] fBufComp;
+150       fBufComp    = 0;
+151       fBufCompCur = 0;
+152       fCompPos    = 0;
+153    }
+154 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!SetCompressionLevel@{SetCompressionLevel}}
+\index{SetCompressionLevel@{SetCompressionLevel}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTMessage::Set\-Compression\-Level (Int\_\-t {\em level} = {\tt 1})}\label{classAliHLTMessage_a10}
+
+
+
+
+Definition at line 194 of file Ali\-HLTMessage.cxx.
+
+References f\-Buf\-Comp, f\-Buf\-Comp\-Cur, f\-Comp\-Pos, and f\-Compress.
+
+\footnotesize\begin{verbatim}195 {
+196    // Set the message compression level. Can be between 0 and 9 with 0
+197    // being no compression and 9 maximum compression. In general the default
+198    // level of 1 is the best compromise between achieved compression and
+199    // cpu time. Compression will only happen when the message is > 256 bytes.
+200 
+201    if (level < 0) level = 0;
+202    if (level > 9) level = 9;
+203 
+204    if (level != fCompress && fBufComp) {
+205       delete [] fBufComp;
+206       fBufComp    = 0;
+207       fBufCompCur = 0;
+208       fCompPos    = 0;
+209    }
+210    fCompress = level;
+211 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!SetLength@{SetLength}}
+\index{SetLength@{SetLength}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTMessage::Set\-Length () const}\label{classAliHLTMessage_a3}
+
+
+
+
+Definition at line 157 of file Ali\-HLTMessage.cxx.
+
+Referenced by Ali\-HLTComponent::Push\-Back().
+
+\footnotesize\begin{verbatim}158 {
+159    // Set the message length at the beginning of the message buffer.
+160 
+161    if (IsWriting()) {
+162       char *buf = Buffer();
+163       *((UInt_t*)buf) = (UInt_t)(Length() - sizeof(UInt_t));
+164 
+165       if (fBufComp) {
+166          buf = fBufComp;
+167          *((UInt_t*)buf) = (UInt_t)(Length() - sizeof(UInt_t));
+168       }
+169    }
+170 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!SetWhat@{SetWhat}}
+\index{SetWhat@{SetWhat}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTMessage::Set\-What (UInt\_\-t {\em what})}\label{classAliHLTMessage_a9}
+
+
+
+
+Definition at line 173 of file Ali\-HLTMessage.cxx.
+
+References f\-What.
+
+Referenced by Reset().
+
+\footnotesize\begin{verbatim}174 {
+175    // Using this method one can change the message type a-posteriory.
+176    // In case you OR "what" with kMESS_ACK, the message will wait for
+177    // an acknowledgement from the remote side. This makes the sending
+178    // process synchronous.
+179 
+180    fWhat = what;
+181 
+182    char *buf = Buffer();
+183    buf += sizeof(UInt_t);   // skip reserved length space
+184    tobuf(buf, what);
+185 
+186    if (fBufComp) {
+187       buf = fBufComp;
+188       buf += sizeof(UInt_t);   // skip reserved length space
+189       tobuf(buf, what | kMESS_ZIP);
+190    }
+191 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!Uncompress@{Uncompress}}
+\index{Uncompress@{Uncompress}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t Ali\-HLTMessage::Uncompress ()}\label{classAliHLTMessage_a13}
+
+
+
+
+Definition at line 294 of file Ali\-HLTMessage.cxx.
+
+References f\-Buf\-Comp, f\-Compress, f\-What, and R\_\-\_\-unzip().
+
+Referenced by Ali\-HLTMessage().
+
+\footnotesize\begin{verbatim}295 {
+296    // Uncompress the message. The message will only be uncompressed when
+297    // kMESS_ZIP is set. Returns -1 in case of error, 0 otherwise.
+298 
+299    if (!fBufComp || !(fWhat & kMESS_ZIP))
+300       return -1;
+301 
+302    Int_t buflen;
+303    Int_t hdrlen = 2*sizeof(UInt_t);
+304    UChar_t *bufcur = (UChar_t*)fBufComp + hdrlen;
+305    frombuf((char *&)bufcur, &buflen);
+306    fBuffer  = new char[buflen];
+307    fBufSize = buflen;
+308    fBufCur  = fBuffer + sizeof(UInt_t) + sizeof(fWhat);
+309    fBufMax  = fBuffer + fBufSize;
+310    char *messbuf = fBuffer + hdrlen;
+311 
+312    Int_t nin, nout, nbuf;
+313    Int_t noutot = 0;
+314    while (1) {
+315       nin  = 9 + ((Int_t)bufcur[3] | ((Int_t)bufcur[4] << 8) | ((Int_t)bufcur[5] << 16));
+316       nbuf = (Int_t)bufcur[6] | ((Int_t)bufcur[7] << 8) | ((Int_t)bufcur[8] << 16);
+317       R__unzip(&nin, bufcur, &nbuf, messbuf, &nout);
+318       if (!nout) break;
+319       noutot += nout;
+320       if (noutot >= buflen - hdrlen) break;
+321       bufcur  += nin;
+322       messbuf += nout;
+323    }
+324 
+325    fWhat &= ~kMESS_ZIP;
+326    fCompress = 1;
+327 
+328    return 0;
+329 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTMessage@{Ali\-HLTMessage}!What@{What}}
+\index{What@{What}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}UInt\_\-t Ali\-HLTMessage::What () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTMessage_a8}
+
+
+
+
+Definition at line 86 of file Ali\-HLTMessage.h.
+
+\footnotesize\begin{verbatim}86 { return fWhat; }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTMessage@{Ali\-HLTMessage}!fBufComp@{fBufComp}}
+\index{fBufComp@{fBufComp}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf Ali\-HLTMessage::f\-Buf\-Comp}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTMessage_r3}
+
+
+
+
+Definition at line 100 of file Ali\-HLTMessage.h.
+
+Referenced by Ali\-HLTMessage(), Compress(), Reset(), Set\-Compression\-Level(), and Uncompress().\index{AliHLTMessage@{Ali\-HLTMessage}!fBufCompCur@{fBufCompCur}}
+\index{fBufCompCur@{fBufCompCur}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf Ali\-HLTMessage::f\-Buf\-Comp\-Cur}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTMessage_r4}
+
+
+
+
+Definition at line 101 of file Ali\-HLTMessage.h.
+
+Referenced by Ali\-HLTMessage(), Comp\-Length(), Compress(), Reset(), and Set\-Compression\-Level().\index{AliHLTMessage@{Ali\-HLTMessage}!fClass@{fClass}}
+\index{fClass@{fClass}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TClass$\ast$ {\bf Ali\-HLTMessage::f\-Class}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTMessage_r1}
+
+
+
+
+Definition at line 98 of file Ali\-HLTMessage.h.
+
+Referenced by Ali\-HLTMessage().\index{AliHLTMessage@{Ali\-HLTMessage}!fCompPos@{fCompPos}}
+\index{fCompPos@{fCompPos}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ {\bf Ali\-HLTMessage::f\-Comp\-Pos}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTMessage_r5}
+
+
+
+
+Definition at line 102 of file Ali\-HLTMessage.h.
+
+Referenced by Ali\-HLTMessage(), Compress(), Forward(), Reset(), and Set\-Compression\-Level().\index{AliHLTMessage@{Ali\-HLTMessage}!fCompress@{fCompress}}
+\index{fCompress@{fCompress}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t {\bf Ali\-HLTMessage::f\-Compress}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTMessage_r2}
+
+
+
+
+Definition at line 99 of file Ali\-HLTMessage.h.
+
+Referenced by Ali\-HLTMessage(), Compress(), Set\-Compression\-Level(), and Uncompress().\index{AliHLTMessage@{Ali\-HLTMessage}!fWhat@{fWhat}}
+\index{fWhat@{fWhat}!AliHLTMessage@{Ali\-HLTMessage}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}UInt\_\-t {\bf Ali\-HLTMessage::f\-What}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTMessage_r0}
+
+
+
+
+Definition at line 97 of file Ali\-HLTMessage.h.
+
+Referenced by Ali\-HLTMessage(), Compress(), Reset(), Set\-What(), and Uncompress().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTMessage.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTMessage.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTModuleAgent.eps b/HLT/PHOS/latex/classAliHLTModuleAgent.eps
new file mode 100644 (file)
index 0000000..1f80f66
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 300.752
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.6625 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTModuleAgent) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTModuleAgent) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTModuleAgent.tex b/HLT/PHOS/latex/classAliHLTModuleAgent.tex
new file mode 100644 (file)
index 0000000..0915ce5
--- /dev/null
@@ -0,0 +1,486 @@
+\section{Ali\-HLTModule\-Agent Class Reference}
+\label{classAliHLTModuleAgent}\index{AliHLTModuleAgent@{AliHLTModuleAgent}}
+{\tt \#include $<$Ali\-HLTModule\-Agent.h$>$}
+
+Inheritance diagram for Ali\-HLTModule\-Agent::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTModuleAgent}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Agent helper class for HLT sub modules, e.g. PHOS, TPC, Trigger. 
+
+This class implements the agent base class for the HLT sub modules. The agent of a library gives information on the features of the library/ components, like the configurations to run and other component libraries it depends on. \begin{Desc}
+\item[Note:]There must not be more than one agent per module/library.\end{Desc}
+All HLT component libraries are loaded on demand through the HLT steering instance ({\bf Ali\-HLTSystem}{\rm (p.\,\pageref{classAliHLTSystem})}). A library can implement an agent derived from this base class, and has to define one global object of this agent in the code. The agent will be registered automatically, and the features can be queried when required.
+
+This is usually done during running the Ali\-Root reconstruction (see Ali\-Root documentation on {\tt  Ali\-Reconstruction}). The HLT implemets the Ali\-HLTReconstructor which holds the HLT steering object. Several flags can be specified as options via the {\tt Set\-Option} method of {\tt Ali\-Reconstruction}, including the component libraries to be loaded.\subsection{Agent interface}\label{classAliHLTModuleAgent_alihltmoduleagent_interface}
+The child can implement the following functions:\begin{itemize}
+\item {\bf Create\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a4})} \par
+ create HLT configuration forming an HLT analysis chain.\end{itemize}
+
+
+\begin{itemize}
+\item {\bf Get\-Local\-Rec\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a5})} \par
+ configurations run during local event reconstruction. \begin{Desc}
+\item[Note:]Local event reconstruction is the first step of the reconstruction chain. All events are processed at once. \par
+\end{Desc}
+\item {\bf Get\-Event\-Rec\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a6})} \par
+ configurations run during event reconstruction. \begin{Desc}
+\item[Note:]This is the reconstruction on event by event basis. \par
+\end{Desc}
+\item {\bf Get\-Required\-Component\-Libraries}{\rm (p.\,\pageref{classAliHLTModuleAgent_a7})} \par
+ can indicate further libraries which are required for running the chains (e.g. if components of another library are used).\end{itemize}
+
+
+\begin{itemize}
+\item {\bf Register\-Components}{\rm (p.\,\pageref{classAliHLTModuleAgent_a8})} \par
+ register componens, this can be used to avoid the component registration via global objects \begin{Desc}
+\item[See also:]{\bf Component handling}{\rm (p.\,\pageref{classAliHLTComponent_alihltcomponent-handling})} \par
+ \end{Desc}
+\end{itemize}
+\subsection{References}\label{classAliHLTModuleAgent_alihltmoduleagent_references}
+\begin{Desc}
+\item[See also:]Ali\-HLTReconstructor interface to the Ali\-Root reconstruction 
+
+Ali\-HLTAgent\-Sample agent for the lib\-Ali\-HLTSample library \end{Desc}
+
+
+
+
+Definition at line 74 of file Ali\-HLTModule\-Agent.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTModule\-Agent} ()
+\item 
+{\bf Ali\-HLTModule\-Agent} (const {\bf Ali\-HLTModule\-Agent} \&)
+\item 
+{\bf Ali\-HLTModule\-Agent} \& {\bf operator=} (const {\bf Ali\-HLTModule\-Agent} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTModule\-Agent} ()
+\item 
+virtual int {\bf Create\-Configurations} ({\bf Ali\-HLTConfiguration\-Handler} $\ast$handler, Ali\-Run\-Loader $\ast$runloader=NULL) const 
+\item 
+virtual const char $\ast$ {\bf Get\-Local\-Rec\-Configurations} (Ali\-Run\-Loader $\ast$runloader=NULL) const 
+\item 
+virtual const char $\ast$ {\bf Get\-Event\-Rec\-Configurations} (Ali\-Run\-Loader $\ast$runloader=NULL) const 
+\item 
+virtual const char $\ast$ {\bf Get\-Required\-Component\-Libraries} () const 
+\item 
+virtual int {\bf Register\-Components} (Ali\-Run\-Loader $\ast$runloader=NULL) const 
+\item 
+const char $\ast$ {\bf Get\-Top\-Configurations} (Ali\-Run\-Loader $\ast$runloader=NULL) const 
+\end{CompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{CompactItemize}
+\item 
+void {\bf Print\-Status} (const char $\ast$agent=NULL)
+\item 
+{\bf Ali\-HLTModule\-Agent} $\ast$ {\bf Get\-First\-Agent} ()
+\item 
+{\bf Ali\-HLTModule\-Agent} $\ast$ {\bf Get\-Next\-Agent} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTModule\-Agent}, 0)
+\end{CompactItemize}
+\subsection*{Static Private Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Register} ({\bf Ali\-HLTModule\-Agent} $\ast$p\-Agent)
+\item 
+int {\bf Unregister} ({\bf Ali\-HLTModule\-Agent} $\ast$p\-Agent)
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+TList {\bf fg\-Agent\-List}
+\item 
+TObj\-Link $\ast$ {\bf fg\-Current\-Lnk} = NULL
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!AliHLTModuleAgent@{AliHLTModuleAgent}}
+\index{AliHLTModuleAgent@{AliHLTModuleAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTModule\-Agent::Ali\-HLTModule\-Agent ()}\label{classAliHLTModuleAgent_a0}
+
+
+standard constructor. The agent is automatically registered in the global agent manager \index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!AliHLTModuleAgent@{AliHLTModuleAgent}}
+\index{AliHLTModuleAgent@{AliHLTModuleAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTModule\-Agent::Ali\-HLTModule\-Agent (const {\bf Ali\-HLTModule\-Agent} \&)}\label{classAliHLTModuleAgent_a1}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 40 of file Ali\-HLTModule\-Agent.cxx.
+
+\footnotesize\begin{verbatim}41   :
+42   TObject(),
+43   AliHLTLogging()
+44 {
+45   // see header file for function documentation
+46 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!~AliHLTModuleAgent@{$\sim$AliHLTModuleAgent}}
+\index{~AliHLTModuleAgent@{$\sim$AliHLTModuleAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTModule\-Agent::$\sim${\bf Ali\-HLTModule\-Agent} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTModuleAgent_a3}
+
+
+destructor 
+
+Definition at line 57 of file Ali\-HLTModule\-Agent.cxx.
+
+References Unregister().
+
+\footnotesize\begin{verbatim}58 {
+59   // see header file for function documentation
+60   Unregister(this);
+61 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTModule\-Agent::Class\-Def ({\bf Ali\-HLTModule\-Agent}, 0)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTModuleAgent_d0}
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!CreateConfigurations@{CreateConfigurations}}
+\index{CreateConfigurations@{CreateConfigurations}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTModule\-Agent::Create\-Configurations ({\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\em handler}, Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTModuleAgent_a4}
+
+
+Register all configurations belonging to this module with the {\bf Ali\-HLTConfiguration\-Handler}{\rm (p.\,\pageref{classAliHLTConfigurationHandler})}. The agent can adapt the configurations to be registered to the current Ali\-Root setup by checking the runloader. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em handler}][in] the configuration handler \item[{\em runloader}][in] Ali\-Root runloader \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 92 of file Ali\-HLTModule\-Agent.cxx.
+
+Referenced by Ali\-HLTSystem::Load\-Configurations().
+
+\footnotesize\begin{verbatim}94 {
+95   // default method, nothing to be done, child classes can overload
+96   if (handler==NULL && runloader==NULL) {
+97     // get rid of 'unused parameter' warning
+98   }
+99   return 0;
+100 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetEventRecConfigurations@{GetEventRecConfigurations}}
+\index{GetEventRecConfigurations@{GetEventRecConfigurations}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTModule\-Agent::Get\-Event\-Rec\-Configurations (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTModuleAgent_a6}
+
+
+Get the top configurations for event reconstruction. The same as for {\bf Get\-Local\-Rec\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a5})}, but for the reconstruction on event by event basis. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em runloader}][in] Ali\-Root runloader \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]string containing the top configurations separated by blanks \end{Desc}
+
+
+Definition at line 111 of file Ali\-HLTModule\-Agent.cxx.
+
+\footnotesize\begin{verbatim}112 {
+113   // default method, nothing to be done, child classes can overload
+114   if (runloader==NULL) {
+115     // get rid of 'unused parameter' warning
+116   }
+117   return NULL;
+118 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetFirstAgent@{GetFirstAgent}}
+\index{GetFirstAgent@{GetFirstAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTModule\-Agent} $\ast$ Ali\-HLTModule\-Agent::Get\-First\-Agent ()\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTModuleAgent_e1}
+
+
+Get the first agent in the list \begin{Desc}
+\item[Returns:]pointer to first agent in the list, NULL if empty \end{Desc}
+
+
+Definition at line 135 of file Ali\-HLTModule\-Agent.cxx.
+
+References fg\-Agent\-List, and fg\-Current\-Lnk.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), and Ali\-HLTSystem::Load\-Configurations().
+
+\footnotesize\begin{verbatim}136 {
+137   // see header file for function documentation
+138   fgCurrentLnk=fgAgentList.FirstLink();
+139   if (fgCurrentLnk==NULL) return NULL;
+140   return (AliHLTModuleAgent*)fgCurrentLnk->GetObject();
+141 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetLocalRecConfigurations@{GetLocalRecConfigurations}}
+\index{GetLocalRecConfigurations@{GetLocalRecConfigurations}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTModule\-Agent::Get\-Local\-Rec\-Configurations (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTModuleAgent_a5}
+
+
+Get the top configurations for local event reconstruction. A top configuration describes a processing chain. It can simply be described by the last configuration(s) in the chain. The agent can adapt the configurations to be registered to the current Ali\-Root setup by checking the runloader. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em runloader}][in] Ali\-Root runloader \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]string containing the top configurations separated by blanks \end{Desc}
+
+
+Definition at line 102 of file Ali\-HLTModule\-Agent.cxx.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), and Get\-Top\-Configurations().
+
+\footnotesize\begin{verbatim}103 {
+104   // default method, nothing to be done, child classes can overload
+105   if (runloader==NULL) {
+106     // get rid of 'unused parameter' warning
+107   }
+108   return NULL;
+109 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetNextAgent@{GetNextAgent}}
+\index{GetNextAgent@{GetNextAgent}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTModule\-Agent} $\ast$ Ali\-HLTModule\-Agent::Get\-Next\-Agent ()\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTModuleAgent_e2}
+
+
+Get the next agent in the list \begin{Desc}
+\item[Returns:]pointer to next agent in the list, NULL if end of list \end{Desc}
+
+
+Definition at line 143 of file Ali\-HLTModule\-Agent.cxx.
+
+References fg\-Current\-Lnk.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations(), and Ali\-HLTSystem::Load\-Configurations().
+
+\footnotesize\begin{verbatim}144 {
+145   // see header file for function documentation
+146   if (fgCurrentLnk==NULL) return NULL;
+147   fgCurrentLnk=fgCurrentLnk->Next();
+148   if (fgCurrentLnk==NULL) return NULL;
+149   return (AliHLTModuleAgent*)fgCurrentLnk->GetObject();
+150 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetRequiredComponentLibraries@{GetRequiredComponentLibraries}}
+\index{GetRequiredComponentLibraries@{GetRequiredComponentLibraries}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTModule\-Agent::Get\-Required\-Component\-Libraries () const\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTModuleAgent_a7}
+
+
+Component libraries which the configurations of this agent depend on. \begin{Desc}
+\item[Returns:]list of component libraries as a blank-separated string. \end{Desc}
+
+
+Definition at line 120 of file Ali\-HLTModule\-Agent.cxx.
+
+Referenced by Ali\-HLTSystem::Load\-Configurations().
+
+\footnotesize\begin{verbatim}121 {
+122   // default method, nothing to be done, child classes can overload
+123   return NULL;
+124 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!GetTopConfigurations@{GetTopConfigurations}}
+\index{GetTopConfigurations@{GetTopConfigurations}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ Ali\-HLTModule\-Agent::Get\-Top\-Configurations (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTModuleAgent_a9}
+
+
+Old method kept for backward compatibility, redirected to {\bf Get\-Local\-Rec\-Configurations}{\rm (p.\,\pageref{classAliHLTModuleAgent_a5})}. 
+
+Definition at line 159 of file Ali\-HLTModule\-Agent.h.
+
+References Get\-Local\-Rec\-Configurations().
+
+\footnotesize\begin{verbatim}159                                                                        {
+160     return GetLocalRecConfigurations(runloader);
+161   }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTModule\-Agent} \& Ali\-HLTModule\-Agent::operator= (const {\bf Ali\-HLTModule\-Agent} \&)}\label{classAliHLTModuleAgent_a2}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 48 of file Ali\-HLTModule\-Agent.cxx.
+
+\footnotesize\begin{verbatim}49 {
+50   // see header file for function documentation
+51   return *this;
+52 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!PrintStatus@{PrintStatus}}
+\index{PrintStatus@{PrintStatus}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTModule\-Agent::Print\-Status (const char $\ast$ {\em agent} = {\tt NULL})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTModuleAgent_e0}
+
+
+Print status info. Short summary on registered agents. This function acts globally on the list of agents if no specific agent is specified. 
+
+Definition at line 63 of file Ali\-HLTModule\-Agent.cxx.
+
+References fg\-Agent\-List, k\-HLTLog\-Info, and Ali\-HLTLogging::Logging().
+
+Referenced by Ali\-HLTSystem::Configure().
+
+\footnotesize\begin{verbatim}64 {
+65   // see header file for function documentation
+66   AliHLTLogging log;
+67   if (agent) {
+68     TObject* pAgent=fgAgentList.FindObject(agent);
+69     if (pAgent) {
+70       log.Logging(kHLTLogInfo, "AliHLTModuleAgent::PrintStatus", "module agents", 
+71                   "agent %s available", pAgent->GetName());
+72     } else {
+73       log.Logging(kHLTLogInfo, "AliHLTModuleAgent::PrintStatus", "module agents", 
+74                   "agent %s not found", agent);
+75     }
+76   } else {
+77     TObjLink* lnk=fgAgentList.FirstLink();
+78     log.Logging(kHLTLogInfo, "AliHLT", "", "-----------------------");
+79     log.Logging(kHLTLogInfo, "AliHLT", "", "available module agents");
+80     if (lnk==NULL) 
+81       log.Logging(kHLTLogInfo, "AliHLT", "", "   none");
+82     while (lnk) {
+83       TString msg;
+84       msg.Form("   %s : %p", ((AliHLTModuleAgent*)lnk->GetObject())->GetName(), lnk->GetObject());
+85       log.Logging(kHLTLogInfo, "AliHLT", "", msg.Data());
+86       lnk=lnk->Next();
+87     }
+88     log.Logging(kHLTLogInfo, "AliHLT", "", "-----------------------");
+89   }
+90 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!Register@{Register}}
+\index{Register@{Register}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTModule\-Agent::Register ({\bf Ali\-HLTModule\-Agent} $\ast$ {\em p\-Agent})\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTModuleAgent_h0}
+
+
+Register agent in the global list. \begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 152 of file Ali\-HLTModule\-Agent.cxx.
+
+References fg\-Agent\-List, k\-HLTLog\-Debug, and Ali\-HLTLogging::Logging().
+
+\footnotesize\begin{verbatim}153 {
+154   // see header file for function documentation
+155   AliHLTLogging log;
+156   if (!pAgent) return -EINVAL;
+157   if (fgAgentList.FindObject(pAgent)==NULL) {
+158     log.Logging(kHLTLogDebug, "AliHLTModuleAgent::Register", "", "module agent %p registered", pAgent);
+159     fgAgentList.Add(pAgent);
+160   }
+161   return 0;
+162 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!RegisterComponents@{RegisterComponents}}
+\index{RegisterComponents@{RegisterComponents}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTModule\-Agent::Register\-Components (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL}) const\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTModuleAgent_a8}
+
+
+Register componets. This method can be used to register components for the module instead of the 'static object approach'. Registration is don by passing a sample object to {\bf Ali\-HLTComponent\-Handler::Register\-Component}{\rm (p.\,\pageref{classAliHLTComponentHandler_a10})}\par
+ {\em Note:\/} The sample object is owned by the agent, make sure to delete it. 
+
+Definition at line 126 of file Ali\-HLTModule\-Agent.cxx.
+
+\footnotesize\begin{verbatim}127 {
+128   if (runloader==NULL) {
+129     // get rid of 'unused parameter' warning
+130   }
+131   // default method, nothing to be done, child classes can overload
+132   return 0;
+133 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!Unregister@{Unregister}}
+\index{Unregister@{Unregister}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTModule\-Agent::Unregister ({\bf Ali\-HLTModule\-Agent} $\ast$ {\em p\-Agent})\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTModuleAgent_h1}
+
+
+Unregister agent in the global list. \begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 164 of file Ali\-HLTModule\-Agent.cxx.
+
+References fg\-Agent\-List, k\-HLTLog\-Debug, and Ali\-HLTLogging::Logging().
+
+Referenced by $\sim$Ali\-HLTModule\-Agent().
+
+\footnotesize\begin{verbatim}165 {
+166   // see header file for function documentation
+167   AliHLTLogging log;
+168   if (!pAgent) return -EINVAL;
+169   if (fgAgentList.FindObject(pAgent)!=NULL) {
+170     log.Logging(kHLTLogDebug, "AliHLTModuleAgent::Unregister", "", "module agent %p removed", pAgent);
+171     fgAgentList.Remove(pAgent);
+172   } else {
+173   }
+174   return 0;
+175 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!fgAgentList@{fgAgentList}}
+\index{fgAgentList@{fgAgentList}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TList {\bf Ali\-HLTModule\-Agent::fg\-Agent\-List}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTModuleAgent_v0}
+
+
+the list of active agents 
+
+Definition at line 54 of file Ali\-HLTModule\-Agent.cxx.
+
+Referenced by Get\-First\-Agent(), Print\-Status(), Register(), and Unregister().\index{AliHLTModuleAgent@{Ali\-HLTModule\-Agent}!fgCurrentLnk@{fgCurrentLnk}}
+\index{fgCurrentLnk@{fgCurrentLnk}!AliHLTModuleAgent@{Ali\-HLTModule\-Agent}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TObj\-Link $\ast$ {\bf Ali\-HLTModule\-Agent::fg\-Current\-Lnk} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTModuleAgent_v1}
+
+
+the current object link (list position) 
+
+Definition at line 55 of file Ali\-HLTModule\-Agent.cxx.
+
+Referenced by Get\-First\-Agent(), and Get\-Next\-Agent().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTModule\-Agent.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTModule\-Agent.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTOfflineDataSink.eps b/HLT/PHOS/latex/classAliHLTOfflineDataSink.eps
new file mode 100644 (file)
index 0000000..a35abcb
--- /dev/null
@@ -0,0 +1,215 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 273.973
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.825 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 4 def
+/cols 2 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTOfflineDataSink) cw
+(AliHLTDataSink) cw
+(AliHLTOfflineInterface) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTOfflineDataSink) 0.5 0 box
+ (AliHLTDataSink) 0 1 box
+ (AliHLTOfflineInterface) 1 1 box
+ (AliHLTComponent) 0 2 box
+ (AliHLTLogging) 0 3 box
+
+% ----- relations -----
+
+solid
+0 0.5 0 out
+solid
+0 1 1 conn
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 1 1 in
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
diff --git a/HLT/PHOS/latex/classAliHLTOfflineDataSink.tex b/HLT/PHOS/latex/classAliHLTOfflineDataSink.tex
new file mode 100644 (file)
index 0000000..478f074
--- /dev/null
@@ -0,0 +1,121 @@
+\section{Ali\-HLTOffline\-Data\-Sink Class Reference}
+\label{classAliHLTOfflineDataSink}\index{AliHLTOfflineDataSink@{AliHLTOfflineDataSink}}
+{\tt \#include $<$Ali\-HLTOffline\-Data\-Sink.h$>$}
+
+Inheritance diagram for Ali\-HLTOffline\-Data\-Sink::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classAliHLTOfflineDataSink}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+The class implements a Ali\-Root data sink component base class. The child class must implement the functions:\begin{itemize}
+\item {\bf Do\-Init}{\rm (p.\,\pageref{classAliHLTComponent_b5})} (optional)\item {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTComponent_b6})} (optional)\item {\bf Dump\-Event}{\rm (p.\,\pageref{classAliHLTDataSink_d0})}\item {\bf Get\-Component\-ID}{\rm (p.\,\pageref{classAliHLTComponent_a9})}\item {\bf Get\-Input\-Data\-Types}{\rm (p.\,\pageref{classAliHLTComponent_a10})}\item {\bf Spawn}{\rm (p.\,\pageref{classAliHLTComponent_a13})}\item {\bf Fill\-ESD}{\rm (p.\,\pageref{classAliHLTOfflineInterface_a11})}\end{itemize}
+
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 36 of file Ali\-HLTOffline\-Data\-Sink.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTOffline\-Data\-Sink} ()
+\item 
+{\bf Ali\-HLTOffline\-Data\-Sink} (const {\bf Ali\-HLTOffline\-Data\-Sink} \&)
+\item 
+{\bf Ali\-HLTOffline\-Data\-Sink} \& {\bf operator=} (const {\bf Ali\-HLTOffline\-Data\-Sink} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTOffline\-Data\-Sink} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTOffline\-Data\-Sink}, 1)
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}!AliHLTOfflineDataSink@{AliHLTOfflineDataSink}}
+\index{AliHLTOfflineDataSink@{AliHLTOfflineDataSink}!AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Data\-Sink::Ali\-HLTOffline\-Data\-Sink ()}\label{classAliHLTOfflineDataSink_a0}
+
+
+standard constructor \index{AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}!AliHLTOfflineDataSink@{AliHLTOfflineDataSink}}
+\index{AliHLTOfflineDataSink@{AliHLTOfflineDataSink}!AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Data\-Sink::Ali\-HLTOffline\-Data\-Sink (const {\bf Ali\-HLTOffline\-Data\-Sink} \&)}\label{classAliHLTOfflineDataSink_a1}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 38 of file Ali\-HLTOffline\-Data\-Sink.cxx.
+
+References HLTFatal, and Ali\-HLTOffline\-Interface::Register().
+
+\footnotesize\begin{verbatim}39    :
+40    AliHLTDataSink(),
+41    AliHLTOfflineInterface()
+42 {
+43   // see header file for class documentation
+44   HLTFatal("copy constructor untested");
+45   Register(this);
+46 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}!~AliHLTOfflineDataSink@{$\sim$AliHLTOfflineDataSink}}
+\index{~AliHLTOfflineDataSink@{$\sim$AliHLTOfflineDataSink}!AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Data\-Sink::$\sim${\bf Ali\-HLTOffline\-Data\-Sink} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTOfflineDataSink_a3}
+
+
+destructor 
+
+Definition at line 55 of file Ali\-HLTOffline\-Data\-Sink.cxx.
+
+References Ali\-HLTOffline\-Interface::Unregister().
+
+\footnotesize\begin{verbatim}56 {
+57   // see header file for class documentation
+58   Unregister(this);
+59 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Data\-Sink::Class\-Def ({\bf Ali\-HLTOffline\-Data\-Sink}, 1)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTOfflineDataSink_d0}
+
+
+\index{AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTOfflineDataSink@{Ali\-HLTOffline\-Data\-Sink}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTOffline\-Data\-Sink} \& Ali\-HLTOffline\-Data\-Sink::operator= (const {\bf Ali\-HLTOffline\-Data\-Sink} \&)}\label{classAliHLTOfflineDataSink_a2}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 48 of file Ali\-HLTOffline\-Data\-Sink.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}49 { 
+50   // see header file for class documentation
+51   HLTFatal("assignment operator untested");
+52   return *this;
+53 }
+\end{verbatim}\normalsize 
+
+
+
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTOffline\-Data\-Sink.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTOffline\-Data\-Sink.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTOfflineDataSource.eps b/HLT/PHOS/latex/classAliHLTOfflineDataSource.eps
new file mode 100644 (file)
index 0000000..e8a6c67
--- /dev/null
@@ -0,0 +1,215 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 245.399
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.0375 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 4 def
+/cols 2 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTOfflineDataSource) cw
+(AliHLTDataSource) cw
+(AliHLTOfflineInterface) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTOfflineDataSource) 0.5 0 box
+ (AliHLTDataSource) 0 1 box
+ (AliHLTOfflineInterface) 1 1 box
+ (AliHLTComponent) 0 2 box
+ (AliHLTLogging) 0 3 box
+
+% ----- relations -----
+
+solid
+0 0.5 0 out
+solid
+0 1 1 conn
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 1 1 in
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
diff --git a/HLT/PHOS/latex/classAliHLTOfflineDataSource.tex b/HLT/PHOS/latex/classAliHLTOfflineDataSource.tex
new file mode 100644 (file)
index 0000000..e49cf6b
--- /dev/null
@@ -0,0 +1,142 @@
+\section{Ali\-HLTOffline\-Data\-Source Class Reference}
+\label{classAliHLTOfflineDataSource}\index{AliHLTOfflineDataSource@{AliHLTOfflineDataSource}}
+{\tt \#include $<$Ali\-HLTOffline\-Data\-Source.h$>$}
+
+Inheritance diagram for Ali\-HLTOffline\-Data\-Source::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classAliHLTOfflineDataSource}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+The class implements a Ali\-Root data source component base class. The child class must implement the functions:\begin{itemize}
+\item {\bf Do\-Init}{\rm (p.\,\pageref{classAliHLTComponent_b5})} (optional)\item {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTComponent_b6})} (optional)\item {\bf Get\-Event}{\rm (p.\,\pageref{classAliHLTDataSource_d0})}\item {\bf Get\-Component\-ID}{\rm (p.\,\pageref{classAliHLTComponent_a9})}\item {\bf Get\-Output\-Data\-Type}{\rm (p.\,\pageref{classAliHLTComponent_a11})}\item {\bf Get\-Output\-Data\-Size}{\rm (p.\,\pageref{classAliHLTComponent_a12})}\item {\bf Spawn}{\rm (p.\,\pageref{classAliHLTComponent_a13})}\end{itemize}
+
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 36 of file Ali\-HLTOffline\-Data\-Source.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTOffline\-Data\-Source} ()
+\item 
+{\bf Ali\-HLTOffline\-Data\-Source} (const {\bf Ali\-HLTOffline\-Data\-Source} \&)
+\item 
+{\bf Ali\-HLTOffline\-Data\-Source} \& {\bf operator=} (const {\bf Ali\-HLTOffline\-Data\-Source} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTOffline\-Data\-Source} ()
+\item 
+int {\bf Fill\-ESD} (int event\-No, Ali\-Run\-Loader $\ast$run\-Loader, Ali\-ESD $\ast$esd)
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTOffline\-Data\-Source}, 1)
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}!AliHLTOfflineDataSource@{AliHLTOfflineDataSource}}
+\index{AliHLTOfflineDataSource@{AliHLTOfflineDataSource}!AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Data\-Source::Ali\-HLTOffline\-Data\-Source ()}\label{classAliHLTOfflineDataSource_a0}
+
+
+standard constructor \index{AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}!AliHLTOfflineDataSource@{AliHLTOfflineDataSource}}
+\index{AliHLTOfflineDataSource@{AliHLTOfflineDataSource}!AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Data\-Source::Ali\-HLTOffline\-Data\-Source (const {\bf Ali\-HLTOffline\-Data\-Source} \&)}\label{classAliHLTOfflineDataSource_a1}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 39 of file Ali\-HLTOffline\-Data\-Source.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}40   :
+41   AliHLTDataSource(),
+42   AliHLTOfflineInterface()
+43 {
+44   // see header file for class documentation
+45   HLTFatal("copy constructor untested");
+46 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}!~AliHLTOfflineDataSource@{$\sim$AliHLTOfflineDataSource}}
+\index{~AliHLTOfflineDataSource@{$\sim$AliHLTOfflineDataSource}!AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Data\-Source::$\sim${\bf Ali\-HLTOffline\-Data\-Source} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTOfflineDataSource_a3}
+
+
+destructor 
+
+Definition at line 55 of file Ali\-HLTOffline\-Data\-Source.cxx.
+
+References Ali\-HLTOffline\-Interface::Unregister().
+
+\footnotesize\begin{verbatim}56 {
+57   // see header file for class documentation
+58   Unregister(this);
+59 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Data\-Source::Class\-Def ({\bf Ali\-HLTOffline\-Data\-Source}, 1)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTOfflineDataSource_d0}
+
+
+\index{AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}!FillESD@{FillESD}}
+\index{FillESD@{FillESD}!AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Data\-Source::Fill\-ESD (int {\em event\-No}, Ali\-Run\-Loader $\ast$ {\em run\-Loader}, Ali\-ESD $\ast$ {\em esd})\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classAliHLTOfflineDataSource_a4}
+
+
+Default implementation as sources do not have a real Fill\-ESD method. 
+
+Implements {\bf Ali\-HLTOffline\-Interface} {\rm (p.\,\pageref{classAliHLTOfflineInterface_a11})}.
+
+Definition at line 51 of file Ali\-HLTOffline\-Data\-Source.h.
+
+\footnotesize\begin{verbatim}51                                                                  {
+52     if (esd==NULL && runLoader==NULL) {
+53       // get rid of 'unused parameter' warning
+54     }
+55     return 0;
+56   }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTOfflineDataSource@{Ali\-HLTOffline\-Data\-Source}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTOffline\-Data\-Source} \& Ali\-HLTOffline\-Data\-Source::operator= (const {\bf Ali\-HLTOffline\-Data\-Source} \&)}\label{classAliHLTOfflineDataSource_a2}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 48 of file Ali\-HLTOffline\-Data\-Source.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}49 { 
+50   // see header file for class documentation
+51   HLTFatal("assignment operator untested");
+52   return *this;
+53 }
+\end{verbatim}\normalsize 
+
+
+
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTOffline\-Data\-Source.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTOffline\-Data\-Source.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTOfflineInterface.eps b/HLT/PHOS/latex/classAliHLTOfflineInterface.eps
new file mode 100644 (file)
index 0000000..2b9fd12
--- /dev/null
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 122.699
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 4.075 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 2 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTOfflineInterface) cw
+(AliHLTOfflineDataSink) cw
+(AliHLTOfflineDataSource) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTOfflineInterface) 0.5 1 box
+ (AliHLTOfflineDataSink) 0 0 box
+ (AliHLTOfflineDataSource) 1 0 box
+
+% ----- relations -----
+
+solid
+1 0.5 0.25 out
+solid
+0 1 1 conn
+solid
+0 0 0.75 in
+solid
+0 1 0.75 in
diff --git a/HLT/PHOS/latex/classAliHLTOfflineInterface.tex b/HLT/PHOS/latex/classAliHLTOfflineInterface.tex
new file mode 100644 (file)
index 0000000..9ed6983
--- /dev/null
@@ -0,0 +1,600 @@
+\section{Ali\-HLTOffline\-Interface Class Reference}
+\label{classAliHLTOfflineInterface}\index{AliHLTOfflineInterface@{AliHLTOfflineInterface}}
+{\tt \#include $<$Ali\-HLTOffline\-Interface.h$>$}
+
+Inheritance diagram for Ali\-HLTOffline\-Interface::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTOfflineInterface}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+The class implements the basic interface to the Ali\-Root objects during reconstructions. It serves as a base class for offline source and sink interface components and provides access methods for the Ali\-Run\-Loader, Ali\-Raw\-Reader and Ali\-ESD objects. The Ali\-Run\-Loader and the Ali\-Raw\-Reader are fixed during one run, while the Ali\-ESD object will be changed from event to event.\par
+ {\em Note:\/} The digits and clusters trees are not available through this interface class as they are completetly detector (Ali\-Loader) dependend.
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 40 of file Ali\-HLTOffline\-Interface.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTOffline\-Interface} ()
+\item 
+{\bf Ali\-HLTOffline\-Interface} (Ali\-Run\-Loader $\ast$p\-Run\-Loader, Ali\-Raw\-Reader $\ast$p\-Raw\-Reader)
+\item 
+{\bf Ali\-HLTOffline\-Interface} (const {\bf Ali\-HLTOffline\-Interface} \&)
+\item 
+{\bf Ali\-HLTOffline\-Interface} \& {\bf operator=} (const {\bf Ali\-HLTOffline\-Interface} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTOffline\-Interface} ()
+\item 
+Ali\-Run\-Loader $\ast$ {\bf Get\-Run\-Loader} () const 
+\item 
+Ali\-Raw\-Reader $\ast$ {\bf Get\-Raw\-Reader} () const 
+\item 
+int {\bf Set\-ESD} (Int\_\-t event\-No, Ali\-ESD $\ast$p\-ESD)
+\item 
+Ali\-ESD $\ast$ {\bf Get\-ESD} () const 
+\item 
+int {\bf Set\-Params} (Ali\-Run\-Loader $\ast$run\-Loader, Ali\-Raw\-Reader $\ast$raw\-Reader)
+\item 
+int {\bf Reset} ()
+\item 
+virtual int {\bf Fill\-ESD} (int event\-No, Ali\-Run\-Loader $\ast$run\-Loader, Ali\-ESD $\ast$esd)=0
+\end{CompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Set\-Params\-To\-Components} (Ali\-Run\-Loader $\ast$run\-Loader, Ali\-Raw\-Reader $\ast$raw\-Reader)
+\item 
+int {\bf Fill\-Component\-ESDs} (int event\-No, Ali\-Run\-Loader $\ast$run\-Loader, Ali\-ESD $\ast$esd)
+\item 
+int {\bf Reset\-Components} ()
+\end{CompactItemize}
+\subsection*{Static Protected Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Register} ({\bf Ali\-HLTOffline\-Interface} $\ast$me)
+\item 
+int {\bf Unregister} ({\bf Ali\-HLTOffline\-Interface} $\ast$me)
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTOffline\-Interface}, 1)
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+Ali\-Run\-Loader $\ast$ {\bf fp\-Run\-Loader}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+Ali\-Raw\-Reader $\ast$ {\bf fp\-Raw\-Reader}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+Ali\-ESD $\ast$ {\bf fp\-ESD}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+TList {\bf fg\-List}
+\item 
+TObj\-Link $\ast$ {\bf fg\-Current\-Lnk} = NULL
+\item 
+Ali\-Run\-Loader $\ast$ {\bf fgp\-Run\-Loader} = NULL
+\item 
+Ali\-Raw\-Reader $\ast$ {\bf fgp\-Raw\-Reader} = NULL
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!AliHLTOfflineInterface@{AliHLTOfflineInterface}}
+\index{AliHLTOfflineInterface@{AliHLTOfflineInterface}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Interface::Ali\-HLTOffline\-Interface ()}\label{classAliHLTOfflineInterface_a0}
+
+
+standard constructor \index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!AliHLTOfflineInterface@{AliHLTOfflineInterface}}
+\index{AliHLTOfflineInterface@{AliHLTOfflineInterface}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Interface::Ali\-HLTOffline\-Interface (Ali\-Run\-Loader $\ast$ {\em p\-Run\-Loader}, Ali\-Raw\-Reader $\ast$ {\em p\-Raw\-Reader})}\label{classAliHLTOfflineInterface_a1}
+
+
+constructor \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Run\-Loader}]pointer to Ali\-Root run loader \item[{\em p\-Raw\-Reader}]pointer to Ali\-Root raw reader \end{description}
+\end{Desc}
+
+
+Definition at line 48 of file Ali\-HLTOffline\-Interface.cxx.
+
+\footnotesize\begin{verbatim}49   :
+50   fpRunLoader(pRunLoader),
+51   fpRawReader(pRawReader),
+52   fpESD(NULL)
+53 {
+54 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!AliHLTOfflineInterface@{AliHLTOfflineInterface}}
+\index{AliHLTOfflineInterface@{AliHLTOfflineInterface}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Interface::Ali\-HLTOffline\-Interface (const {\bf Ali\-HLTOffline\-Interface} \&)}\label{classAliHLTOfflineInterface_a2}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 56 of file Ali\-HLTOffline\-Interface.cxx.
+
+\footnotesize\begin{verbatim}57   :
+58   TObject(),
+59   fpRunLoader(NULL),
+60   fpRawReader(NULL),
+61   fpESD(NULL)
+62 {
+63   // see header file for class documentation
+64   //HLTFatal("copy constructor untested");
+65 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!~AliHLTOfflineInterface@{$\sim$AliHLTOfflineInterface}}
+\index{~AliHLTOfflineInterface@{$\sim$AliHLTOfflineInterface}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Interface::$\sim${\bf Ali\-HLTOffline\-Interface} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTOfflineInterface_a4}
+
+
+destructor 
+
+Definition at line 74 of file Ali\-HLTOffline\-Interface.cxx.
+
+\footnotesize\begin{verbatim}75 {
+76 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTOffline\-Interface::Class\-Def ({\bf Ali\-HLTOffline\-Interface}, 1)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTOfflineInterface_d0}
+
+
+transient 
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!FillComponentESDs@{FillComponentESDs}}
+\index{FillComponentESDs@{FillComponentESDs}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Interface::Fill\-Component\-ESDs (int {\em event\-No}, Ali\-Run\-Loader $\ast$ {\em run\-Loader}, Ali\-ESD $\ast$ {\em esd})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTOfflineInterface_e1}
+
+
+Fill ESD for one event. The Fill\-ESD method of all active Ali\-HLTOffline\-Data\-Sink's is called in order to fill the ESD with the previously reconstructed data. This method works on the global list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em event\-No}]event No. {\em Note:\/} this is an internal enumeration of the processed events. \item[{\em run\-Loader}]the Ali\-Root runloader \item[{\em esd}]an Ali\-ESD instance \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 169 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fg\-Current\-Lnk, fg\-List, Fill\-ESD(), Get\-Run\-Loader(), and Set\-ESD().
+
+Referenced by Ali\-HLTSystem::Fill\-ESD().
+
+\footnotesize\begin{verbatim}170 {
+171   // see header file for class documentation
+172   int iResult=0;
+173   fgCurrentLnk=fgList.FirstLink();
+174   while (fgCurrentLnk!=NULL) {
+175     AliHLTOfflineInterface* pComponent=reinterpret_cast<AliHLTOfflineInterface*>(fgCurrentLnk->GetObject());
+176     int iLocal=0;
+177     if (pComponent) {
+178       pComponent->SetESD(eventNo, esd);
+179       if (pComponent->GetRunLoader()!=runLoader) {
+180         //HLTWarning("runLoader missmatch: component %p was reconstructed with runLoader %p, but got %p now", pComponent, pComponent->GetRunLoader(), runLoader);
+181       }
+182       iLocal=pComponent->FillESD(eventNo, runLoader, esd);
+183     }
+184     if (iLocal<0) {
+185       if (iResult>=0) iResult=iLocal;
+186     }
+187     fgCurrentLnk=fgCurrentLnk->Next();
+188   }
+189   return iResult;
+190 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!FillESD@{FillESD}}
+\index{FillESD@{FillESD}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}virtual int Ali\-HLTOffline\-Interface::Fill\-ESD (int {\em event\-No}, Ali\-Run\-Loader $\ast$ {\em run\-Loader}, Ali\-ESD $\ast$ {\em esd})\hspace{0.3cm}{\tt  [pure virtual]}}\label{classAliHLTOfflineInterface_a11}
+
+
+Fill ESD for one event. Fill the ESD with the previously reconstructed data. It must be implmented by the child class. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em event\-No}]event No. {\em Note:\/} this is an internal enumeration of the processed events. \item[{\em run\-Loader}]the Ali\-Root runloader \item[{\em esd}]an Ali\-ESD instance \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Implemented in {\bf Ali\-HLTOffline\-Data\-Source} {\rm (p.\,\pageref{classAliHLTOfflineDataSource_a4})}.
+
+Referenced by Fill\-Component\-ESDs().\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!GetESD@{GetESD}}
+\index{GetESD@{GetESD}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-ESD $\ast$ Ali\-HLTOffline\-Interface::Get\-ESD () const}\label{classAliHLTOfflineInterface_a8}
+
+
+Get the Ali\-Root ESD 
+
+Definition at line 94 of file Ali\-HLTOffline\-Interface.cxx.
+
+\footnotesize\begin{verbatim}95 {
+96   return fpESD;
+97 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!GetRawReader@{GetRawReader}}
+\index{GetRawReader@{GetRawReader}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-Raw\-Reader $\ast$ Ali\-HLTOffline\-Interface::Get\-Raw\-Reader () const}\label{classAliHLTOfflineInterface_a6}
+
+
+Get the Ali\-Root raw reader 
+
+Definition at line 83 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fp\-Raw\-Reader.
+
+\footnotesize\begin{verbatim}84 {
+85   return fpRawReader!=NULL?fpRawReader:fgpRawReader;
+86 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!GetRunLoader@{GetRunLoader}}
+\index{GetRunLoader@{GetRunLoader}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-Run\-Loader $\ast$ Ali\-HLTOffline\-Interface::Get\-Run\-Loader () const}\label{classAliHLTOfflineInterface_a5}
+
+
+Get the Ali\-Root run loader. 
+
+Definition at line 78 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fp\-Run\-Loader.
+
+Referenced by Fill\-Component\-ESDs().
+
+\footnotesize\begin{verbatim}79 {
+80   return fpRunLoader!=NULL?fpRunLoader:fgpRunLoader;
+81 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTOffline\-Interface} \& Ali\-HLTOffline\-Interface::operator= (const {\bf Ali\-HLTOffline\-Interface} \&)}\label{classAliHLTOfflineInterface_a3}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 67 of file Ali\-HLTOffline\-Interface.cxx.
+
+\footnotesize\begin{verbatim}68 { 
+69   // see header file for class documentation
+70   //HLTFatal("assignment operator untested");
+71   return *this;
+72 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!Register@{Register}}
+\index{Register@{Register}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Interface::Register ({\bf Ali\-HLTOffline\-Interface} $\ast$ {\em me})\hspace{0.3cm}{\tt  [static, protected]}}\label{classAliHLTOfflineInterface_f0}
+
+
+Register an Offline\-Interface. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em me}]instance of Ali\-HLTOffline\-Interface \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 192 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fg\-List.
+
+Referenced by Ali\-HLTOffline\-Data\-Sink::Ali\-HLTOffline\-Data\-Sink().
+
+\footnotesize\begin{verbatim}193 {
+194   // see header file for function documentation
+195   int iResult=0;
+196   if (fgList.FindObject(me->GetName())==NULL) {
+197     fgList.Add(me);
+198   } else {
+199   }
+200   return iResult;
+201 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!Reset@{Reset}}
+\index{Reset@{Reset}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Interface::Reset ()}\label{classAliHLTOfflineInterface_a10}
+
+
+Reset Ali\-Root internal params. 
+
+Definition at line 114 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fp\-ESD, fp\-Raw\-Reader, and fp\-Run\-Loader.
+
+Referenced by Reset\-Components().
+
+\footnotesize\begin{verbatim}115 {
+116   // see header file for class documentation
+117   int iResult=0;
+118   fpRunLoader=NULL;
+119   fpRawReader=NULL;
+120   fpESD=NULL;
+121   return iResult;
+122 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!ResetComponents@{ResetComponents}}
+\index{ResetComponents@{ResetComponents}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Interface::Reset\-Components ()\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTOfflineInterface_e2}
+
+
+Reset Ali\-Root internal params of all active components. This method works on the global list. 
+
+Definition at line 152 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fg\-Current\-Lnk, fg\-List, and Reset().
+
+\footnotesize\begin{verbatim}153 {
+154   // see header file for class documentation
+155   int iResult=0;
+156   fgCurrentLnk=fgList.FirstLink();
+157   while (fgCurrentLnk!=NULL) {
+158     AliHLTOfflineInterface* pComponent=reinterpret_cast<AliHLTOfflineInterface*>(fgCurrentLnk->GetObject());
+159     int iLocal=0;
+160     if (pComponent) iLocal=pComponent->Reset();
+161     if (iLocal<0) {
+162       if (iResult>=0) iResult=iLocal;
+163     }
+164     fgCurrentLnk=fgCurrentLnk->Next();
+165   }
+166   return iResult;
+167 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!SetESD@{SetESD}}
+\index{SetESD@{SetESD}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Interface::Set\-ESD (Int\_\-t {\em event\-No}, Ali\-ESD $\ast$ {\em p\-ESD})}\label{classAliHLTOfflineInterface_a7}
+
+
+Set Ali\-Root ESD for the current event. 
+
+Definition at line 88 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fp\-ESD.
+
+Referenced by Fill\-Component\-ESDs().
+
+\footnotesize\begin{verbatim}89 {
+90   fpESD=pESD;
+91   return 0;
+92 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!SetParams@{SetParams}}
+\index{SetParams@{SetParams}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Interface::Set\-Params (Ali\-Run\-Loader $\ast$ {\em run\-Loader}, Ali\-Raw\-Reader $\ast$ {\em raw\-Reader})}\label{classAliHLTOfflineInterface_a9}
+
+
+Set Ali\-Root external params.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em run\-Loader}]the Ali\-Root runloader \item[{\em raw\-Reader}]the Ali\-Root Raw\-Reader \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 99 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fp\-Raw\-Reader, and fp\-Run\-Loader.
+
+Referenced by Set\-Params\-To\-Components().
+
+\footnotesize\begin{verbatim}100 {
+101   // see header file for class documentation
+102   int iResult=0;
+103   if (fpRunLoader!=NULL && fpRunLoader!=runLoader) {
+104     //HLTWarning("overriding previous instance of Run Loader %p with %p", fpRunLoader, runLoader);
+105   }
+106   fpRunLoader=runLoader;
+107   if (fpRawReader!=NULL && fpRawReader!=rawReader) {
+108     //HLTWarning("overriding previous instance of RawReader %p with %p", fpRawReader, rawReader);
+109   }
+110   fpRawReader=rawReader;
+111   return iResult;
+112 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!SetParamsToComponents@{SetParamsToComponents}}
+\index{SetParamsToComponents@{SetParamsToComponents}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Interface::Set\-Params\-To\-Components (Ali\-Run\-Loader $\ast$ {\em run\-Loader}, Ali\-Raw\-Reader $\ast$ {\em raw\-Reader})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTOfflineInterface_e0}
+
+
+Set Ali\-Root external params. This method works on the global list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em run\-Loader}]the Ali\-Root runloader \item[{\em raw\-Reader}]the Ali\-Root Raw\-Reader \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 124 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fg\-Current\-Lnk, fg\-List, fgp\-Raw\-Reader, fgp\-Run\-Loader, k\-HLTLog\-Warning, Ali\-HLTLogging::Logging\-Varargs(), and Set\-Params().
+
+Referenced by Ali\-HLTSystem::Reconstruct().
+
+\footnotesize\begin{verbatim}125 {
+126   // see header file for class documentation
+127   AliHLTLogging log;
+128   int iResult=0;
+129   int count=0;
+130   fgpRunLoader=runLoader;
+131   fgpRawReader=rawReader;
+132   fgCurrentLnk=fgList.FirstLink();
+133   while (fgCurrentLnk!=NULL) {
+134     AliHLTOfflineInterface* pComponent=reinterpret_cast<AliHLTOfflineInterface*>(fgCurrentLnk->GetObject());
+135     int iLocal=0;
+136     if (pComponent) iLocal=pComponent->SetParams(runLoader, rawReader);
+137     if (iLocal<0) {
+138       log.LoggingVarargs(kHLTLogWarning, "AliHLTOfflineInterface","SetParamsToComponents", __FILE__, __LINE__,
+139                         "parameter initialization failed for component %p with result %d", pComponent, iLocal);
+140       if (iResult>=0) iResult=iLocal;
+141     }
+142     count++;
+143     fgCurrentLnk=fgCurrentLnk->Next();
+144   }
+145   if (iResult>=0) {
+146 //       log.LoggingVarargs(kHLTLogInfo, "AliHLTOfflineInterface","SetParamsToComponents", __FILE__, __LINE__,
+147 //                      "parameters set to %d offline interface component(s)", count);
+148   }
+149   return iResult;
+150 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!Unregister@{Unregister}}
+\index{Unregister@{Unregister}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTOffline\-Interface::Unregister ({\bf Ali\-HLTOffline\-Interface} $\ast$ {\em me})\hspace{0.3cm}{\tt  [static, protected]}}\label{classAliHLTOfflineInterface_f1}
+
+
+Unregister an Offline\-Interface. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em me}]instance of Ali\-HLTOffline\-Interface \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 203 of file Ali\-HLTOffline\-Interface.cxx.
+
+References fg\-List.
+
+Referenced by Ali\-HLTOffline\-Data\-Sink::$\sim$Ali\-HLTOffline\-Data\-Sink(), and Ali\-HLTOffline\-Data\-Source::$\sim$Ali\-HLTOffline\-Data\-Source().
+
+\footnotesize\begin{verbatim}204 {
+205   // see header file for function documentation
+206   int iResult=0;
+207   if (fgList.FindObject(me)!=NULL) {
+208     fgList.Remove(me);
+209   } else {
+210   }
+211   return iResult;
+212 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!fgCurrentLnk@{fgCurrentLnk}}
+\index{fgCurrentLnk@{fgCurrentLnk}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TObj\-Link $\ast$ {\bf Ali\-HLTOffline\-Interface::fg\-Current\-Lnk} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTOfflineInterface_v1}
+
+
+the current object link (list position) 
+
+Definition at line 44 of file Ali\-HLTOffline\-Interface.cxx.
+
+Referenced by Fill\-Component\-ESDs(), Reset\-Components(), and Set\-Params\-To\-Components().\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!fgList@{fgList}}
+\index{fgList@{fgList}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TList {\bf Ali\-HLTOffline\-Interface::fg\-List}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTOfflineInterface_v0}
+
+
+the list of active interfaces 
+
+Definition at line 43 of file Ali\-HLTOffline\-Interface.cxx.
+
+Referenced by Fill\-Component\-ESDs(), Register(), Reset\-Components(), Set\-Params\-To\-Components(), and Unregister().\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!fgpRawReader@{fgpRawReader}}
+\index{fgpRawReader@{fgpRawReader}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-Raw\-Reader $\ast$ {\bf Ali\-HLTOffline\-Interface::fgp\-Raw\-Reader} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTOfflineInterface_v3}
+
+
+transient 
+
+global Ali\-Root raw reader instance (for all components) 
+
+Definition at line 46 of file Ali\-HLTOffline\-Interface.cxx.
+
+Referenced by Set\-Params\-To\-Components().\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!fgpRunLoader@{fgpRunLoader}}
+\index{fgpRunLoader@{fgpRunLoader}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-Run\-Loader $\ast$ {\bf Ali\-HLTOffline\-Interface::fgp\-Run\-Loader} = NULL\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTOfflineInterface_v2}
+
+
+global Ali\-Root run loader instance (for all components) 
+
+Definition at line 45 of file Ali\-HLTOffline\-Interface.cxx.
+
+Referenced by Set\-Params\-To\-Components().\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!fpESD@{fpESD}}
+\index{fpESD@{fpESD}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-ESD$\ast$ {\bf Ali\-HLTOffline\-Interface::fp\-ESD}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTOfflineInterface_r2}
+
+
+transient 
+
+Ali\-Root HLT ESD instance 
+
+Definition at line 162 of file Ali\-HLTOffline\-Interface.h.
+
+Referenced by Reset(), and Set\-ESD().\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!fpRawReader@{fpRawReader}}
+\index{fpRawReader@{fpRawReader}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-Raw\-Reader$\ast$ {\bf Ali\-HLTOffline\-Interface::fp\-Raw\-Reader}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTOfflineInterface_r1}
+
+
+transient 
+
+private Ali\-Root raw reader instance 
+
+Definition at line 160 of file Ali\-HLTOffline\-Interface.h.
+
+Referenced by Get\-Raw\-Reader(), Reset(), and Set\-Params().\index{AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}!fpRunLoader@{fpRunLoader}}
+\index{fpRunLoader@{fpRunLoader}!AliHLTOfflineInterface@{Ali\-HLTOffline\-Interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-Run\-Loader$\ast$ {\bf Ali\-HLTOffline\-Interface::fp\-Run\-Loader}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTOfflineInterface_r0}
+
+
+transient 
+
+private Ali\-Root run loader instance 
+
+Definition at line 158 of file Ali\-HLTOffline\-Interface.h.
+
+Referenced by Get\-Run\-Loader(), Reset(), and Set\-Params().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTOffline\-Interface.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTOffline\-Interface.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSCellEnergiesFileWriter.eps b/HLT/PHOS/latex/classAliHLTPHOSCellEnergiesFileWriter.eps
new file mode 100644 (file)
index 0000000..ac07f85
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 181.818
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.75 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTPHOSCellEnergiesFileWriter) cw
+(AliHLTPHOSFileWriter) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTPHOSCellEnergiesFileWriter) 0 0 box
+ (AliHLTPHOSFileWriter) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTPHOSCellEnergiesFileWriter.tex b/HLT/PHOS/latex/classAliHLTPHOSCellEnergiesFileWriter.tex
new file mode 100644 (file)
index 0000000..50d79a2
--- /dev/null
@@ -0,0 +1,74 @@
+\section{Ali\-HLTPHOSCell\-Energies\-File\-Writer Class Reference}
+\label{classAliHLTPHOSCellEnergiesFileWriter}\index{AliHLTPHOSCellEnergiesFileWriter@{AliHLTPHOSCellEnergiesFileWriter}}
+{\tt \#include $<$Ali\-HLTPHOSCell\-Energies\-File\-Writer.h$>$}
+
+Inheritance diagram for Ali\-HLTPHOSCell\-Energies\-File\-Writer::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTPHOSCellEnergiesFileWriter}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer} ()
+\item 
+{\bf $\sim$Ali\-HLTPHOSCell\-Energies\-File\-Writer} ()
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+int {\bf f\-Current\-Evnt\-Cnt}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSCellEnergiesFileWriter@{Ali\-HLTPHOSCell\-Energies\-File\-Writer}!AliHLTPHOSCellEnergiesFileWriter@{AliHLTPHOSCellEnergiesFileWriter}}
+\index{AliHLTPHOSCellEnergiesFileWriter@{AliHLTPHOSCellEnergiesFileWriter}!AliHLTPHOSCellEnergiesFileWriter@{Ali\-HLTPHOSCell\-Energies\-File\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSCell\-Energies\-File\-Writer::Ali\-HLTPHOSCell\-Energies\-File\-Writer ()}\label{classAliHLTPHOSCellEnergiesFileWriter_a0}
+
+
+
+
+Definition at line 5 of file Ali\-HLTPHOSCell\-Energies\-File\-Writer.cxx.
+
+\footnotesize\begin{verbatim}5                                                                   :fCurrentEvntCnt(0)
+6 {
+7 
+8 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSCellEnergiesFileWriter@{Ali\-HLTPHOSCell\-Energies\-File\-Writer}!~AliHLTPHOSCellEnergiesFileWriter@{$\sim$AliHLTPHOSCellEnergiesFileWriter}}
+\index{~AliHLTPHOSCellEnergiesFileWriter@{$\sim$AliHLTPHOSCellEnergiesFileWriter}!AliHLTPHOSCellEnergiesFileWriter@{Ali\-HLTPHOSCell\-Energies\-File\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSCell\-Energies\-File\-Writer::$\sim${\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer} ()}\label{classAliHLTPHOSCellEnergiesFileWriter_a1}
+
+
+
+
+Definition at line 11 of file Ali\-HLTPHOSCell\-Energies\-File\-Writer.cxx.
+
+\footnotesize\begin{verbatim}12 {
+13 
+14 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSCellEnergiesFileWriter@{Ali\-HLTPHOSCell\-Energies\-File\-Writer}!fCurrentEvntCnt@{fCurrentEvntCnt}}
+\index{fCurrentEvntCnt@{fCurrentEvntCnt}!AliHLTPHOSCellEnergiesFileWriter@{Ali\-HLTPHOSCell\-Energies\-File\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer::f\-Current\-Evnt\-Cnt}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSCellEnergiesFileWriter_r0}
+
+
+
+
+Reimplemented from {\bf Ali\-HLTPHOSFile\-Writer} {\rm (p.\,\pageref{classAliHLTPHOSFileWriter_p0})}.
+
+Definition at line 23 of file Ali\-HLTPHOSCell\-Energies\-File\-Writer.h.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer.h}\item 
+{\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSDDLDecoderComponent.eps b/HLT/PHOS/latex/classAliHLTPHOSDDLDecoderComponent.eps
new file mode 100644 (file)
index 0000000..21867e6
--- /dev/null
@@ -0,0 +1,209 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 347.826
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.4375 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 4 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTPHOSDDLDecoderComponent) cw
+(AliHLTProcessor) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTPHOSDDLDecoderComponent) 0 0 box
+ (AliHLTProcessor) 0 1 box
+ (AliHLTComponent) 0 2 box
+ (AliHLTLogging) 0 3 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
diff --git a/HLT/PHOS/latex/classAliHLTPHOSDDLDecoderComponent.tex b/HLT/PHOS/latex/classAliHLTPHOSDDLDecoderComponent.tex
new file mode 100644 (file)
index 0000000..29ad1f6
--- /dev/null
@@ -0,0 +1,758 @@
+\section{Ali\-HLTPHOSDDLDecoder\-Component Class Reference}
+\label{classAliHLTPHOSDDLDecoderComponent}\index{AliHLTPHOSDDLDecoderComponent@{AliHLTPHOSDDLDecoderComponent}}
+{\tt \#include $<$Ali\-HLTPHOSDDLDecoder\-Component.h$>$}
+
+Inheritance diagram for Ali\-HLTPHOSDDLDecoder\-Component::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classAliHLTPHOSDDLDecoderComponent}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSDDLDecoder\-Component} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTPHOSDDLDecoder\-Component} ()
+\item 
+{\bf Ali\-HLTPHOSDDLDecoder\-Component} (const {\bf Ali\-HLTPHOSDDLDecoder\-Component} \&)
+\item 
+{\bf Ali\-HLTPHOSDDLDecoder\-Component} \& {\bf operator=} (const {\bf Ali\-HLTPHOSDDLDecoder\-Component} \&)
+\item 
+virtual int {\bf Do\-Init} (int argc, const char $\ast$$\ast$argv)
+\item 
+virtual int {\bf Deinit} ()
+\item 
+virtual int {\bf Do\-Deinit} ()
+\item 
+void {\bf Set\-Equippment\-ID} ({\bf Ali\-HLTUInt16\_\-t} id)
+\item 
+{\bf Ali\-HLTUInt16\_\-t} {\bf Get\-Equippment\-ID} ()
+\item 
+void {\bf Set\-Coordinates} ({\bf Ali\-HLTUInt16\_\-t} equippment\-ID)
+\item 
+virtual const char $\ast$ {\bf Get\-Component\-ID} ()
+\item 
+virtual void {\bf Get\-Input\-Data\-Types} (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)
+\item 
+virtual {\bf Ali\-HLTComponent\-Data\-Type} {\bf Get\-Output\-Data\-Type} ()
+\item 
+virtual void {\bf Get\-Output\-Data\-Size} (unsigned long \&const\-Base, double \&input\-Multiplier)
+\item 
+virtual {\bf Ali\-HLTComponent} $\ast$ {\bf Spawn} ()
+\item 
+virtual int {\bf Do\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt16\_\-t} {\bf f\-Equippment\-ID}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-X}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-Z}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-ZOffset}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-XOffset}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+Bool\_\-t {\bf f\-Send\-Channel\-Data}
+\item 
+Bool\_\-t {\bf f\-Print\-Info}
+\item 
+Double\_\-t {\bf f\-Tmp\-Channel\-Data} [ALTRO\_\-MAX\_\-SAMPLES]
+\item 
+int {\bf f\-Print\-Info\-Frequncy}
+\item 
+Ali\-Calo\-Raw\-Stream $\ast$ {\bf f\-PHOSRaw\-Stream}
+\item 
+Ali\-Raw\-Reader\-Memory $\ast$ {\bf f\-Raw\-Memory\-Reader}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct} $\ast$ {\bf f\-Out\-Ptr}
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+int {\bf fg\-Event\-Count} = 0
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf fgk\-Input\-Data\-Types} [$\,$] = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!AliHLTPHOSDDLDecoderComponent@{AliHLTPHOSDDLDecoderComponent}}
+\index{AliHLTPHOSDDLDecoderComponent@{AliHLTPHOSDDLDecoderComponent}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSDDLDecoder\-Component::Ali\-HLTPHOSDDLDecoder\-Component ()}\label{classAliHLTPHOSDDLDecoderComponent_a0}
+
+
+
+
+Definition at line 33 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+\footnotesize\begin{verbatim}33                                                             :AliHLTProcessor(), fEquippmentID(0), fRcuX(0), 
+34 fRcuZ(0),fRcuZOffset(0), fRcuXOffset(0),  fModuleID(0), fSendChannelData(kFALSE), fPHOSRawStream(0), fRawMemoryReader(0), fOutPtr(0)
+35 {
+36 
+37 } 
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!~AliHLTPHOSDDLDecoderComponent@{$\sim$AliHLTPHOSDDLDecoderComponent}}
+\index{~AliHLTPHOSDDLDecoderComponent@{$\sim$AliHLTPHOSDDLDecoderComponent}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSDDLDecoder\-Component::$\sim${\bf Ali\-HLTPHOSDDLDecoder\-Component} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a1}
+
+
+
+
+Definition at line 39 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+References f\-PHOSRaw\-Stream, and f\-Raw\-Memory\-Reader.
+
+\footnotesize\begin{verbatim}40 {
+41   if(fRawMemoryReader != 0)
+42     {
+43       delete fRawMemoryReader;
+44     }
+45     if(fPHOSRawStream != 0)
+46     {
+47       delete fPHOSRawStream;
+48     }
+49 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!AliHLTPHOSDDLDecoderComponent@{AliHLTPHOSDDLDecoderComponent}}
+\index{AliHLTPHOSDDLDecoderComponent@{AliHLTPHOSDDLDecoderComponent}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSDDLDecoder\-Component::Ali\-HLTPHOSDDLDecoder\-Component (const {\bf Ali\-HLTPHOSDDLDecoder\-Component} \&)}\label{classAliHLTPHOSDDLDecoderComponent_a2}
+
+
+
+
+Definition at line 52 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+\footnotesize\begin{verbatim}52                                                                                                    : AliHLTProcessor(), 
+53 fEquippmentID(0), fRcuX(0), fRcuZ(0),fRcuZOffset(0), fRcuXOffset(0),  fModuleID(0),  fSendChannelData(kFALSE), fPHOSRawStream(0), fRawMemoryReader(0), fOutPtr(0)
+54 {
+55 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!Deinit@{Deinit}}
+\index{Deinit@{Deinit}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSDDLDecoder\-Component::Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a5}
+
+
+Clean-up function to terminate data processing. Clean-up of common data structures after data processing. The call is redirected to the internal method {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a6})} which can be overridden by the child class. 
+
+Reimplemented from {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_a3})}.
+
+Definition at line 59 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+\footnotesize\begin{verbatim}60 {
+61   cout <<  "Deinit" << endl;
+62   return 0;
+63 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!DoDeinit@{DoDeinit}}
+\index{DoDeinit@{DoDeinit}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSDDLDecoder\-Component::Do\-Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a6}
+
+
+Default method for the internal clean-up. The method is called by {\bf Deinit}{\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a5})} 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_b6})}.
+
+Definition at line 67 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+References f\-PHOSRaw\-Stream, f\-Raw\-Memory\-Reader, k\-HLTLog\-Info, and Ali\-HLTLogging::Logging().
+
+\footnotesize\begin{verbatim}68 {
+69   cout << "DoDeinit" << endl;
+70   Logging(kHLTLogInfo, "HLT", "PHOS", ",AliHLTPHOSRawAnalyzerComponen DoDeinit");
+71 
+72   if(fRawMemoryReader !=0)
+73     {
+74       delete fRawMemoryReader;
+75     }
+76     
+77   if(fPHOSRawStream != 0)
+78     {
+79       delete fPHOSRawStream;
+80     }
+81   return 0;
+82 
+83 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!DoEvent@{DoEvent}}
+\index{DoEvent@{DoEvent}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a15}
+
+
+The low-level data processing method for the component. This is the custom processing method and can be overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em blocks}]input data block descriptors \item[{\em trig\-Data}]trigger data structure \item[{\em output\-Ptr}]pointer to target buffer \item[{\em size}]{\em input\/}: size of target buffer {\em output\/}:size of produced data \item[{\em output\-Blocks}]list to receive output block descriptors \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Reimplemented from {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_d0})}.
+
+Definition at line 121 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+References Ali\-HLTUInt8\_\-t, Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Channel\-Data, Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, f\-Equippment\-ID, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Gain, fg\-Event\-Count, Ali\-HLTComponent::Fill\-Block\-Data(), Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Module\-ID, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-NSamples, Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-NValid\-Channels, Ali\-HLTComponent\-Block\-Data::f\-Offset, f\-Out\-Ptr, f\-PHOSRaw\-Stream, f\-Print\-Info, f\-Print\-Info\-Frequncy, Ali\-HLTComponent\-Block\-Data::f\-Ptr, f\-Raw\-Memory\-Reader, Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Rcu\-X, Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Rcu\-Z, Ali\-HLTComponent\-Block\-Data::f\-Size, Ali\-HLTComponent\-Block\-Data::f\-Specification, Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Valid\-Data, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-X, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Z, k\-HLTLog\-Fatal, and Ali\-HLTLogging::Logging().
+
+\footnotesize\begin{verbatim}124 {
+125   AliHLTUInt8_t tmpMod    = 0;
+126   AliHLTUInt8_t tmpZ      = 0;
+127   AliHLTUInt8_t tmpX      = 0;
+128   AliHLTUInt8_t tmpGain   = 0;
+129   Int_t sampleCnt         = 0;
+130   Int_t processedChannels = 0;
+131   UInt_t offset           = 0; 
+132   UInt_t mysize           = 0;
+133   UInt_t tSize            = 0;
+134   Int_t tmpChannelCnt     = 0;
+135   Int_t tmpStartIndex     = 0;
+136   AliHLTUInt8_t* outBPtr;
+137   unsigned long first;
+138   unsigned long last;
+139   outBPtr = outputPtr;
+140   const AliHLTComponentBlockData* iter = NULL; 
+141   unsigned long ndx;
+142 
+143   for( ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
+144     {
+145       iter = blocks+ndx;
+146       mysize = 0;
+147       tmpChannelCnt = 0;
+148       offset = tSize;
+149 
+150       if ( iter->fDataType != AliHLTPHOSDefinitions::gkDDLPackedRawDataType )
+151         {
+152           continue;
+153         }
+154 
+155       fRawMemoryReader->SetMemory( reinterpret_cast<UChar_t*>( iter->fPtr ), iter->fSize );
+156       fOutPtr =  (AliHLTPHOSRcuChannelDataStruct*)outBPtr;
+157       mysize += sizeof(AliHLTPHOSRcuChannelDataStruct);
+158 
+159       fOutPtr->fRcuX = fRcuX;
+160       fOutPtr->fRcuZ = fRcuZ;
+161       fOutPtr->fModuleID = fModuleID;
+162 
+163       while(fPHOSRawStream->Next())
+164         {
+165           
+166           if (fPHOSRawStream->IsNewHWAddress())
+167             {
+168               sampleCnt = 0;
+169               fOutPtr->fValidData[tmpChannelCnt].fZ = (AliHLTUInt8_t)fPHOSRawStream->GetColumn() - fRcuZOffset;
+170               fOutPtr->fValidData[tmpChannelCnt].fX = (AliHLTUInt8_t)fPHOSRawStream->GetRow() - fRcuXOffset;
+171               fOutPtr->fValidData[tmpChannelCnt].fGain = fPHOSRawStream->IsLowGain();
+172               fOutPtr->fValidData[tmpChannelCnt].fNSamples = 0;
+173               tmpChannelCnt++;
+174             }
+175           fOutPtr->fValidData[tmpChannelCnt-1].fNSamples ++;
+176           fOutPtr->fValidData[tmpChannelCnt-1].fChannelData[sampleCnt] = fPHOSRawStream->GetSignal();
+177           sampleCnt ++; 
+178         }
+179 
+180       fOutPtr->fNValidChannels = tmpChannelCnt-1;;
+181  
+182       int tmpSampleCnt=0;
+183       AliHLTComponentBlockData bd;
+184       FillBlockData( bd );
+185       bd.fOffset = offset;
+186       bd.fSize = mysize;
+187       bd.fDataType = AliHLTPHOSDefinitions::gkCellChannelDataDataType;
+188       bd.fSpecification = 0xeFFFFFFF;
+189       outputBlocks.push_back( bd);
+190       tSize += mysize;
+191       outBPtr += mysize;
+192     }
+193 
+194   
+195   if( tSize > size )
+196     {
+197       cout <<"kHLTLogFatal, HLT::AliHLTPHOSDDLDecoderComponent::DoEvent Too much data Data written over allowed buffer. Amount written:" << tSize << " allowed" << size << endl;
+198       Logging( kHLTLogFatal, "HLT::AliHLTPHOSDDLDecoderComponent::DoEvent", "Too much data", "Data written over allowed buffer. Amount written: %lu, allowed amount: %lu.",  tSize, size );
+199       return EMSGSIZE;
+200     }
+201 
+202   fgEventCount++; 
+203   
+204   if(fPrintInfo == kTRUE)
+205     {
+206       if(fgEventCount%fPrintInfoFrequncy == 0)
+207         {
+208           cout <<"Analyzing event " <<  fgEventCount  << "for Equippment " << fEquippmentID << endl; 
+209         }  
+210     }
+211   size = tSize;
+212   return 0;
+213 }//end DoEvent
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!DoInit@{DoInit}}
+\index{DoInit@{DoInit}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSDDLDecoder\-Component::Do\-Init (int {\em argc}, const char $\ast$$\ast$ {\em argv})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a4}
+
+
+Default method for the internal initialization. The method is called by {\bf Init}{\rm (p.\,\pageref{classAliHLTProcessor_a2})} 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_b5})}.
+
+Definition at line 217 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+References f\-Equippment\-ID, f\-PHOSRaw\-Stream, f\-Print\-Info, f\-Print\-Info\-Frequncy, f\-Raw\-Memory\-Reader, f\-Send\-Channel\-Data, k\-HLTLog\-Fatal, Ali\-HLTLogging::Logging(), Set\-Coordinates(), and Set\-Equippment\-ID().
+
+\footnotesize\begin{verbatim}218 {
+219   fSendChannelData = kFALSE;
+220   fPrintInfo = kFALSE;
+221   fRawMemoryReader = new AliRawReaderMemory();
+222   fPHOSRawStream = new  AliCaloRawStream(fRawMemoryReader,"PHOS");
+223   fPHOSRawStream->SetOldRCUFormat(kFALSE);
+224   int iResult=0;
+225   TString argument="";
+226   Bool_t isSetEquippmentID = kFALSE;
+227 
+228   for(int i=0; i<argc && iResult>=0; i++) 
+229     {
+230       argument=argv[i];
+231       
+232       if (argument.IsNull()) 
+233         {
+234           continue;
+235         }
+236                          
+237     if (argument.CompareTo("-equipmentID") == 0) 
+238         {
+239           cout << "AliHLTPHOSDDLDecoderComponent:DoInit  argument = -equipmentID   "  <<endl;  
+240           if(i+1 <= argc)
+241             {
+242               fEquippmentID = atoi(argv[i+1]);
+243               cout << "AliHLTPHOSDDLDecoderComponent:DoInit  setting equippment ID to  " << fEquippmentID <<endl;
+244               fRawMemoryReader->SetEquipmentID(fEquippmentID); 
+245               SetEquippmentID(fEquippmentID);
+246               SetCoordinates(fEquippmentID);
+247               isSetEquippmentID = kTRUE;
+248             }
+249           else
+250             {
+251                iResult= -1;
+252                Logging( kHLTLogFatal, "HLT::AliHLTPHOSRcuHistogramProducerComponent::DoInt( int argc, const char** argv )", "Missing argument",
+253                         "The argument -equippmentID expects a number");
+254                return  iResult;   
+255             }
+256         }
+257       
+258     
+259     if (argument.CompareTo("-datatype") == 0) 
+260       {
+261         if(i+1 <= argc)
+262           {
+263             //      i++;
+264             argument=argv[i+1];
+265             if(argument.CompareTo("channeldata") == 0)
+266               {
+267                 cout << "AliHLTPHOSDDLDecoderComponent::DoIni  setting sendChannelData = kTRUE "<< endl; 
+268                 fSendChannelData = kTRUE;
+269               }
+270           }     
+271       }
+272     
+273 
+274     if (argument.CompareTo("-printinfo") == 0) 
+275       {
+276         if(i+1 <= argc)
+277           {
+278             argument=argv[i+1];
+279             fPrintInfoFrequncy = atoi(argv[i+1]);
+280             fPrintInfo = kTRUE;
+281             cout << "AliHLTPHOSDDLDecoderComponent::DoIni  setting printinfo = kTRUE, with update frequency every  "<< fPrintInfoFrequncy << "th event" <<endl; 
+282           }
+283         else
+284           {
+285             cout << "WARNING: asking for event info, but no update frequency is specified, otipn is ignored" << endl;
+286           }
+287         //     }        
+288       }
+289  
+290     }
+291 
+292 
+293   if(isSetEquippmentID == kFALSE)
+294     {
+295       Logging( kHLTLogFatal, "HLT::AliHLTPHOSRcuHistogramProducerComponent::DoInt( int argc, const char** argv )", "Missing argument",
+296                "The argument equippmentID is not set: set it with a component argumet like this: -equippmentID  <number>");
+297       iResult = -2; 
+298     }
+299 
+300 
+301   return 0;
+302 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!GetComponentID@{GetComponentID}}
+\index{GetComponentID@{GetComponentID}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTPHOSDDLDecoder\-Component::Get\-Component\-ID ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a10}
+
+
+Get the id of the component. Each component is identified by a unique id. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]component id (string) \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a9})}.
+
+Definition at line 87 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+\footnotesize\begin{verbatim}88 {
+89   return "PhosDDLDecoder";
+90 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!GetEquippmentID@{GetEquippmentID}}
+\index{GetEquippmentID@{GetEquippmentID}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt16\_\-t} Ali\-HLTPHOSDDLDecoder\-Component::Get\-Equippment\-ID ()}\label{classAliHLTPHOSDDLDecoderComponent_a8}
+
+
+
+
+Definition at line 314 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+\footnotesize\begin{verbatim}315 {
+316   return  fEquippmentID;
+317 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!GetInputDataTypes@{GetInputDataTypes}}
+\index{GetInputDataTypes@{GetInputDataTypes}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSDDLDecoder\-Component::Get\-Input\-Data\-Types (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a11}
+
+
+
+
+Definition at line 95 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID.
+
+\footnotesize\begin{verbatim}96 {
+97   const AliHLTComponentDataType* pType=fgkInputDataTypes;
+98   while (pType->fID!=0) {
+99     list.push_back(*pType);
+100     pType++;
+101   }
+102 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!GetOutputDataSize@{GetOutputDataSize}}
+\index{GetOutputDataSize@{GetOutputDataSize}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSDDLDecoder\-Component::Get\-Output\-Data\-Size (unsigned long \& {\em const\-Base}, double \& {\em input\-Multiplier})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a13}
+
+
+Get a ratio by how much the data volume is shrinked or enhanced. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em const\-Base}]{\em return\/}: additive part, independent of the input data volume \item[{\em input\-Multiplier}]{\em return\/}: multiplication ratio \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]values in the reference variables \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a12})}.
+
+Definition at line 111 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+\footnotesize\begin{verbatim}113 {
+114   constBase = 30;
+115   inputMultiplier = 1;
+116 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!GetOutputDataType@{GetOutputDataType}}
+\index{GetOutputDataType@{GetOutputDataType}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} Ali\-HLTPHOSDDLDecoder\-Component::Get\-Output\-Data\-Type ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a12}
+
+
+Get the output data type of the component. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]output data type \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a11})}.
+
+Definition at line 105 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+\footnotesize\begin{verbatim}106 {
+107   return AliHLTPHOSDefinitions::gkCellEnergyDataType;
+108 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSDDLDecoder\-Component}\& Ali\-HLTPHOSDDLDecoder\-Component::operator= (const {\bf Ali\-HLTPHOSDDLDecoder\-Component} \&)\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTPHOSDDLDecoderComponent_a3}
+
+
+
+
+Definition at line 26 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+\footnotesize\begin{verbatim}27     {
+28       return *this;
+29     };
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!SetCoordinates@{SetCoordinates}}
+\index{SetCoordinates@{SetCoordinates}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSDDLDecoder\-Component::Set\-Coordinates ({\bf Ali\-HLTUInt16\_\-t} {\em equippment\-ID})}\label{classAliHLTPHOSDDLDecoderComponent_a9}
+
+
+
+
+Definition at line 321 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+References f\-Equippment\-ID, f\-Module\-ID, f\-Rcu\-X, f\-Rcu\-XOffset, f\-Rcu\-Z, f\-Rcu\-ZOffset, N\_\-XCOLUMNS\_\-RCU, and N\_\-ZROWS\_\-RCU.
+
+Referenced by Do\-Init().
+
+\footnotesize\begin{verbatim}322 {
+323   int rcuIndex =  (fEquippmentID - 1792)%N_RCUS_PER_MODULE;
+324   fModuleID = (fEquippmentID  -1792 -rcuIndex)/N_RCUS_PER_MODULE;
+325   
+326   if(rcuIndex == 0)
+327     {
+328       fRcuX = 0; 
+329       fRcuZ = 0;
+330     }
+331 
+332   if(rcuIndex == 1)
+333     {
+334       fRcuX = 0; 
+335       fRcuZ = 1;
+336     }
+337  
+338   if(rcuIndex == 2)
+339     {
+340       fRcuX = 1; 
+341       fRcuZ = 0;
+342     }
+343 
+344   if(rcuIndex == 3)
+345     {
+346       fRcuX = 1; 
+347       fRcuZ = 1;
+348     }
+349 
+350 
+351 
+352   fRcuZOffset =  N_ZROWS_RCU*fRcuZ;
+353   fRcuXOffset =  N_XCOLUMNS_RCU*fRcuX;
+354 
+355   cout <<"********InitInfo************"<< endl;
+356   cout <<"AliHLTPHOSDDLDecoderComponent::SetCoordinate"<< endl;
+357   cout <<"Equpippment ID =\t"<< fEquippmentID <<endl;
+358   cout <<"Module ID =\t"<<  (int)fModuleID<<endl;
+359   cout <<"RCUX =\t\t" << (int)fRcuX << endl;
+360   cout <<"RCUZ =\t\t" << (int)fRcuZ << endl;
+361   cout <<"RcuZOffset = \t" <<  (int)fRcuZOffset << endl;
+362   cout <<"RcuXOffset = \t" <<  (int)fRcuXOffset << endl << endl;
+363 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!SetEquippmentID@{SetEquippmentID}}
+\index{SetEquippmentID@{SetEquippmentID}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSDDLDecoder\-Component::Set\-Equippment\-ID ({\bf Ali\-HLTUInt16\_\-t} {\em id})}\label{classAliHLTPHOSDDLDecoderComponent_a7}
+
+
+
+
+Definition at line 307 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+References f\-Equippment\-ID.
+
+Referenced by Do\-Init().
+
+\footnotesize\begin{verbatim}308 {
+309   fEquippmentID = id;
+310 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!Spawn@{Spawn}}
+\index{Spawn@{Spawn}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent} $\ast$ Ali\-HLTPHOSDDLDecoder\-Component::Spawn ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLDecoderComponent_a14}
+
+
+Spawn function. Each component must implement a spawn function to create a new instance of the class. Basically the function must return {\em new {\bf my\_\-class\_\-name}\/}. \begin{Desc}
+\item[Returns:]new class instance \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a13})}.
+
+Definition at line 366 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+\footnotesize\begin{verbatim}367 {
+368   return new AliHLTPHOSDDLDecoderComponent;
+369 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fEquippmentID@{fEquippmentID}}
+\index{fEquippmentID@{fEquippmentID}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt16\_\-t} {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Equippment\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r0}
+
+
+
+
+Definition at line 49 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Do\-Event(), Do\-Init(), Set\-Coordinates(), and Set\-Equippment\-ID().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fgEventCount@{fgEventCount}}
+\index{fgEventCount@{fgEventCount}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSDDLDecoder\-Component::fg\-Event\-Count} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSDDLDecoderComponent_v0}
+
+
+
+
+Definition at line 30 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.
+
+Referenced by Do\-Event().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fgkInputDataTypes@{fgkInputDataTypes}}
+\index{fgkInputDataTypes@{fgkInputDataTypes}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDDLDecoder\-Component::fgk\-Input\-Data\-Types} = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSDDLDecoderComponent_v1}
+
+
+
+
+Definition at line 29 of file Ali\-HLTPHOSDDLDecoder\-Component.cxx.\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Module\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r5}
+
+
+
+
+Definition at line 54 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Set\-Coordinates().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fOutPtr@{fOutPtr}}
+\index{fOutPtr@{fOutPtr}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}$\ast$ {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Out\-Ptr}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r12}
+
+
+
+
+Definition at line 61 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Do\-Event().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fPHOSRawStream@{fPHOSRawStream}}
+\index{fPHOSRawStream@{fPHOSRawStream}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-Calo\-Raw\-Stream$\ast$ {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-PHOSRaw\-Stream}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r10}
+
+
+
+
+Definition at line 59 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Do\-Deinit(), Do\-Event(), Do\-Init(), and $\sim$Ali\-HLTPHOSDDLDecoder\-Component().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fPrintInfo@{fPrintInfo}}
+\index{fPrintInfo@{fPrintInfo}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Bool\_\-t {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Print\-Info}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r7}
+
+
+
+
+Definition at line 56 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Do\-Event(), and Do\-Init().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fPrintInfoFrequncy@{fPrintInfoFrequncy}}
+\index{fPrintInfoFrequncy@{fPrintInfoFrequncy}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Print\-Info\-Frequncy}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r9}
+
+
+
+
+Definition at line 58 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Do\-Event(), and Do\-Init().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fRawMemoryReader@{fRawMemoryReader}}
+\index{fRawMemoryReader@{fRawMemoryReader}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-Raw\-Reader\-Memory$\ast$ {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Raw\-Memory\-Reader}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r11}
+
+
+
+
+Definition at line 60 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Do\-Deinit(), Do\-Event(), Do\-Init(), and $\sim$Ali\-HLTPHOSDDLDecoder\-Component().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fRcuX@{fRcuX}}
+\index{fRcuX@{fRcuX}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Rcu\-X}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r1}
+
+
+
+
+Definition at line 50 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Set\-Coordinates().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fRcuXOffset@{fRcuXOffset}}
+\index{fRcuXOffset@{fRcuXOffset}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Rcu\-XOffset}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r4}
+
+
+
+
+Definition at line 53 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Set\-Coordinates().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fRcuZ@{fRcuZ}}
+\index{fRcuZ@{fRcuZ}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Rcu\-Z}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r2}
+
+
+
+
+Definition at line 51 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Set\-Coordinates().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fRcuZOffset@{fRcuZOffset}}
+\index{fRcuZOffset@{fRcuZOffset}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Rcu\-ZOffset}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r3}
+
+
+
+
+Definition at line 52 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Set\-Coordinates().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fSendChannelData@{fSendChannelData}}
+\index{fSendChannelData@{fSendChannelData}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Bool\_\-t {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Send\-Channel\-Data}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r6}
+
+
+
+
+Definition at line 55 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+Referenced by Do\-Init().\index{AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}!fTmpChannelData@{fTmpChannelData}}
+\index{fTmpChannelData@{fTmpChannelData}!AliHLTPHOSDDLDecoderComponent@{Ali\-HLTPHOSDDLDecoder\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSDDLDecoder\-Component::f\-Tmp\-Channel\-Data}[ALTRO\_\-MAX\_\-SAMPLES]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSDDLDecoderComponent_r8}
+
+
+
+
+Definition at line 57 of file Ali\-HLTPHOSDDLDecoder\-Component.h.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSDDLDecoder\-Component.h}\item 
+{\bf Ali\-HLTPHOSDDLDecoder\-Component.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSDDLPackedFileWriter.eps b/HLT/PHOS/latex/classAliHLTPHOSDDLPackedFileWriter.eps
new file mode 100644 (file)
index 0000000..362086d
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 186.047
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 2.6875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTPHOSDDLPackedFileWriter) cw
+(AliHLTPHOSFileWriter) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTPHOSDDLPackedFileWriter) 0 0 box
+ (AliHLTPHOSFileWriter) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTPHOSDDLPackedFileWriter.tex b/HLT/PHOS/latex/classAliHLTPHOSDDLPackedFileWriter.tex
new file mode 100644 (file)
index 0000000..3e91a18
--- /dev/null
@@ -0,0 +1,76 @@
+\section{Ali\-HLTPHOSDDLPacked\-File\-Writer Class Reference}
+\label{classAliHLTPHOSDDLPackedFileWriter}\index{AliHLTPHOSDDLPackedFileWriter@{AliHLTPHOSDDLPackedFileWriter}}
+{\tt \#include $<$Ali\-HLTPHOSDDLPacked\-File\-Writer.h$>$}
+
+Inheritance diagram for Ali\-HLTPHOSDDLPacked\-File\-Writer::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTPHOSDDLPackedFileWriter}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSDDLPacked\-File\-Writer} ()
+\item 
+{\bf $\sim$Ali\-HLTPHOSDDLPacked\-File\-Writer} ()
+\item 
+virtual int {\bf Write\-File} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, int evnt\-Cnt)
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSDDLPackedFileWriter@{Ali\-HLTPHOSDDLPacked\-File\-Writer}!AliHLTPHOSDDLPackedFileWriter@{AliHLTPHOSDDLPackedFileWriter}}
+\index{AliHLTPHOSDDLPackedFileWriter@{AliHLTPHOSDDLPackedFileWriter}!AliHLTPHOSDDLPackedFileWriter@{Ali\-HLTPHOSDDLPacked\-File\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSDDLPacked\-File\-Writer::Ali\-HLTPHOSDDLPacked\-File\-Writer ()}\label{classAliHLTPHOSDDLPackedFileWriter_a0}
+
+
+
+
+Definition at line 4 of file Ali\-HLTPHOSDDLPacked\-File\-Writer.cxx.
+
+\footnotesize\begin{verbatim}5 {
+6 
+7 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSDDLPackedFileWriter@{Ali\-HLTPHOSDDLPacked\-File\-Writer}!~AliHLTPHOSDDLPackedFileWriter@{$\sim$AliHLTPHOSDDLPackedFileWriter}}
+\index{~AliHLTPHOSDDLPackedFileWriter@{$\sim$AliHLTPHOSDDLPackedFileWriter}!AliHLTPHOSDDLPackedFileWriter@{Ali\-HLTPHOSDDLPacked\-File\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSDDLPacked\-File\-Writer::$\sim${\bf Ali\-HLTPHOSDDLPacked\-File\-Writer} ()}\label{classAliHLTPHOSDDLPackedFileWriter_a1}
+
+
+
+
+Definition at line 10 of file Ali\-HLTPHOSDDLPacked\-File\-Writer.cxx.
+
+\footnotesize\begin{verbatim}11 {
+12 
+13 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSDDLPackedFileWriter@{Ali\-HLTPHOSDDLPacked\-File\-Writer}!WriteFile@{WriteFile}}
+\index{WriteFile@{WriteFile}!AliHLTPHOSDDLPackedFileWriter@{Ali\-HLTPHOSDDLPacked\-File\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSDDLPacked\-File\-Writer::Write\-File (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, int {\em evnt\-Cnt})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSDDLPackedFileWriter_a2}
+
+
+
+
+Definition at line 17 of file Ali\-HLTPHOSDDLPacked\-File\-Writer.cxx.
+
+\footnotesize\begin{verbatim}19 {
+20   return 0;
+21 }
+\end{verbatim}\normalsize 
+
+
+
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSDDLPacked\-File\-Writer.h}\item 
+{\bf Ali\-HLTPHOSDDLPacked\-File\-Writer.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSDefinitions.tex b/HLT/PHOS/latex/classAliHLTPHOSDefinitions.tex
new file mode 100644 (file)
index 0000000..313a662
--- /dev/null
@@ -0,0 +1,88 @@
+\section{Ali\-HLTPHOSDefinitions Class Reference}
+\label{classAliHLTPHOSDefinitions}\index{AliHLTPHOSDefinitions@{AliHLTPHOSDefinitions}}
+{\tt \#include $<$Ali\-HLTPHOSDefinitions.h$>$}
+
+\subsection*{Static Public Attributes}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf gk\-Cell\-Energy\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'C','E','L','L','E','N','E','R'\},\{'P','H','O','S'\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf gk\-DDLPacked\-Raw\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'D','D','L','\_\-','R','W','P','K'\},\{'P','H','O','S'\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf gk\-Cell\-Energy\-Histogram\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'E','N','E','R','H','I','S','T'\},\{'P','H','O','S'\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf gk\-Cell\-Average\-Energy\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'E','N','E','R','A','V','E','R'\},\{'P','H','O','S'\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf gk\-Cell\-Accumulated\-Energy\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'E','N','E','R','A','C','C','U'\},\{'P','H','O','S'\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf gk\-Cell\-Timing\-Histogram\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'T','I','M','E','H','I','S','T'\},\{'P','H','O','S'\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf gk\-Cell\-Timing\-Average\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'T','I','M','E','A','V','E','R'\},\{'P','H','O','S'\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf gk\-Cell\-Channel\-Data\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'C','H','A','N','D','A','T','A'\},\{'P','H','O','S'\}\}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}!gkCellAccumulatedEnergyDataType@{gkCellAccumulatedEnergyDataType}}
+\index{gkCellAccumulatedEnergyDataType@{gkCellAccumulatedEnergyDataType}!AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDefinitions::gk\-Cell\-Accumulated\-Energy\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'E','N','E','R','A','C','C','U'\},\{'P','H','O','S'\}\}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSDefinitions_s4}
+
+
+Histogram for per cell/gain energy distribution 
+
+Definition at line 36 of file Ali\-HLTPHOSDefinitions.cxx.\index{AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}!gkCellAverageEnergyDataType@{gkCellAverageEnergyDataType}}
+\index{gkCellAverageEnergyDataType@{gkCellAverageEnergyDataType}!AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDefinitions::gk\-Cell\-Average\-Energy\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'E','N','E','R','A','V','E','R'\},\{'P','H','O','S'\}\}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSDefinitions_s3}
+
+
+Histogram for per cell/gain energy distribution 
+
+Definition at line 35 of file Ali\-HLTPHOSDefinitions.cxx.\index{AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}!gkCellChannelDataDataType@{gkCellChannelDataDataType}}
+\index{gkCellChannelDataDataType@{gkCellChannelDataDataType}!AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDefinitions::gk\-Cell\-Channel\-Data\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'C','H','A','N','D','A','T','A'\},\{'P','H','O','S'\}\}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSDefinitions_s7}
+
+
+Time dependent signal from the readout channels 
+
+Definition at line 39 of file Ali\-HLTPHOSDefinitions.cxx.\index{AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}!gkCellEnergyDataType@{gkCellEnergyDataType}}
+\index{gkCellEnergyDataType@{gkCellEnergyDataType}!AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDefinitions::gk\-Cell\-Energy\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'C','E','L','L','E','N','E','R'\},\{'P','H','O','S'\}\}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSDefinitions_s0}
+
+
+Reconstructed cell/crystal energies 
+
+Definition at line 33 of file Ali\-HLTPHOSDefinitions.cxx.\index{AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}!gkCellEnergyHistogramDataType@{gkCellEnergyHistogramDataType}}
+\index{gkCellEnergyHistogramDataType@{gkCellEnergyHistogramDataType}!AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDefinitions::gk\-Cell\-Energy\-Histogram\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'E','N','E','R','H','I','S','T'\},\{'P','H','O','S'\}\}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSDefinitions_s2}
+
+
+Histogram for per cell/gain energy distribution 
+
+Definition at line 34 of file Ali\-HLTPHOSDefinitions.cxx.\index{AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}!gkCellTimingAverageDataType@{gkCellTimingAverageDataType}}
+\index{gkCellTimingAverageDataType@{gkCellTimingAverageDataType}!AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDefinitions::gk\-Cell\-Timing\-Average\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'T','I','M','E','A','V','E','R'\},\{'P','H','O','S'\}\}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSDefinitions_s6}
+
+
+Histogram for per cell/gain time distribution 
+
+Definition at line 38 of file Ali\-HLTPHOSDefinitions.cxx.\index{AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}!gkCellTimingHistogramDataType@{gkCellTimingHistogramDataType}}
+\index{gkCellTimingHistogramDataType@{gkCellTimingHistogramDataType}!AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDefinitions::gk\-Cell\-Timing\-Histogram\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'T','I','M','E','H','I','S','T'\},\{'P','H','O','S'\}\}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSDefinitions_s5}
+
+
+Histogram for per cell/gain time distribution 
+
+Definition at line 37 of file Ali\-HLTPHOSDefinitions.cxx.\index{AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}!gkDDLPackedRawDataType@{gkDDLPackedRawDataType}}
+\index{gkDDLPackedRawDataType@{gkDDLPackedRawDataType}!AliHLTPHOSDefinitions@{Ali\-HLTPHOSDefinitions}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSDefinitions::gk\-DDLPacked\-Raw\-Data\-Type} = \{ sizeof({\bf Ali\-HLTComponent\-Data\-Type}), \{'D','D','L','\_\-','R','W','P','K'\},\{'P','H','O','S'\}\}\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSDefinitions_s1}
+
+
+DDL raw data on the RCU data format 
+
+Definition at line 32 of file Ali\-HLTPHOSDefinitions.cxx.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSDefinitions.h}\item 
+{\bf Ali\-HLTPHOSDefinitions.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSFileWriter.eps b/HLT/PHOS/latex/classAliHLTPHOSFileWriter.eps
new file mode 100644 (file)
index 0000000..4622a5e
--- /dev/null
@@ -0,0 +1,203 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 90.9091
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 5.5 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 2 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTPHOSFileWriter) cw
+(AliHLTPHOSCellEnergiesFileWriter) cw
+(AliHLTPHOSDDLPackedFileWriter) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTPHOSFileWriter) 0.5 1 box
+ (AliHLTPHOSCellEnergiesFileWriter) 0 0 box
+ (AliHLTPHOSDDLPackedFileWriter) 1 0 box
+
+% ----- relations -----
+
+solid
+1 0.5 0.25 out
+solid
+0 1 1 conn
+solid
+0 0 0.75 in
+solid
+0 1 0.75 in
diff --git a/HLT/PHOS/latex/classAliHLTPHOSFileWriter.tex b/HLT/PHOS/latex/classAliHLTPHOSFileWriter.tex
new file mode 100644 (file)
index 0000000..d1ccae2
--- /dev/null
@@ -0,0 +1,198 @@
+\section{Ali\-HLTPHOSFile\-Writer Class Reference}
+\label{classAliHLTPHOSFileWriter}\index{AliHLTPHOSFileWriter@{AliHLTPHOSFileWriter}}
+{\tt \#include $<$Ali\-HLTPHOSFile\-Writer.h$>$}
+
+Inheritance diagram for Ali\-HLTPHOSFile\-Writer::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTPHOSFileWriter}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTPHOSFile\-Writer} ()
+\item 
+void {\bf Make\-Filename} (int event\-Nr, const {\bf Ali\-HLTComponent\-Data\-Type} \&data\-Type)
+\item 
+void {\bf Set\-Directory} (string \&directory)
+\end{CompactItemize}
+\subsection*{Protected Attributes}
+\begin{CompactItemize}
+\item 
+int {\bf f\-Current\-Evnt\-Cnt}
+\item 
+FILE $\ast$ {\bf f\-Current\-File}
+\item 
+string {\bf f\-Directory}
+\item 
+string {\bf f\-Current\-Filename}
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer} (const {\bf Ali\-HLTPHOSFile\-Writer} \&)
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer} \& {\bf operator=} (const {\bf Ali\-HLTPHOSFile\-Writer} \&)
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!AliHLTPHOSFileWriter@{AliHLTPHOSFileWriter}}
+\index{AliHLTPHOSFileWriter@{AliHLTPHOSFileWriter}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSFile\-Writer::Ali\-HLTPHOSFile\-Writer ()}\label{classAliHLTPHOSFileWriter_a0}
+
+
+
+
+Definition at line 8 of file Ali\-HLTPHOSFile\-Writer.cxx.
+
+\footnotesize\begin{verbatim}8                                           :fCurrentEvntCnt(0), fCurrentFile(0), fDirectory(""), fCurrentFilename("")
+9 {
+10 
+11 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!~AliHLTPHOSFileWriter@{$\sim$AliHLTPHOSFileWriter}}
+\index{~AliHLTPHOSFileWriter@{$\sim$AliHLTPHOSFileWriter}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSFile\-Writer::$\sim${\bf Ali\-HLTPHOSFile\-Writer} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriter_a1}
+
+
+
+
+Definition at line 14 of file Ali\-HLTPHOSFile\-Writer.cxx.
+
+\footnotesize\begin{verbatim}15 {
+16 
+17 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!AliHLTPHOSFileWriter@{AliHLTPHOSFileWriter}}
+\index{AliHLTPHOSFileWriter@{AliHLTPHOSFileWriter}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSFile\-Writer::Ali\-HLTPHOSFile\-Writer (const {\bf Ali\-HLTPHOSFile\-Writer} \&)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriter_d0}
+
+
+Never to be called 
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!MakeFilename@{MakeFilename}}
+\index{MakeFilename@{MakeFilename}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSFile\-Writer::Make\-Filename (int {\em event\-Nr}, const {\bf Ali\-HLTComponent\-Data\-Type} \& {\em data\-Type})}\label{classAliHLTPHOSFileWriter_a2}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSFile\-Writer.cxx.
+
+References f\-Current\-Filename, f\-Directory, Ali\-HLTComponent\-Data\-Type::f\-ID, Ali\-HLTComponent\-Data\-Type::f\-Origin, k\-Ali\-HLTComponent\-Data\-Typef\-IDsize, and k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size.
+
+\footnotesize\begin{verbatim}28 {
+29   int charPos =fDirectory.size() +1;
+30 
+31   fCurrentFilename.erase(charPos);
+32 
+33   char tmpOr[kAliHLTComponentDataTypefOriginSize+1];
+34   char tmpID[kAliHLTComponentDataTypefIDsize+1];
+35   char tmpEvntNr[30];
+36 
+37   for(int i = 0; i< kAliHLTComponentDataTypefOriginSize; i++)
+38     {
+39       tmpOr[i] = dataType.fOrigin[i]; 
+40     }
+41   tmpOr[kAliHLTComponentDataTypefOriginSize] = '\0';
+42 
+43   for(int j = 0; j< kAliHLTComponentDataTypefIDsize; j++)
+44     {
+45       tmpID[j] = dataType.fID[j]; 
+46     }
+47   tmpID[kAliHLTComponentDataTypefIDsize] = '\0';
+48 
+49   fCurrentFilename.insert(charPos, tmpOr);
+50   charPos+= kAliHLTComponentDataTypefOriginSize;
+51   fCurrentFilename.insert(charPos, tmpID);
+52   charPos = fCurrentFilename.size();
+53   sprintf(tmpEvntNr,"_%.16d", eventNr);
+54   fCurrentFilename.insert(charPos, tmpEvntNr);
+55   cout <<"AliHLTPHOSFileWriterComponent::MakeFilename, filename = " << fCurrentFilename <<endl;
+56   
+57 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSFile\-Writer}\& Ali\-HLTPHOSFile\-Writer::operator= (const {\bf Ali\-HLTPHOSFile\-Writer} \&)\hspace{0.3cm}{\tt  [inline, private]}}\label{classAliHLTPHOSFileWriter_d1}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSFile\-Writer.h.
+
+\footnotesize\begin{verbatim}28     {
+29       return *this;
+30     };
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!SetDirectory@{SetDirectory}}
+\index{SetDirectory@{SetDirectory}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSFile\-Writer::Set\-Directory (string \& {\em directory})}\label{classAliHLTPHOSFileWriter_a3}
+
+
+
+
+Definition at line 21 of file Ali\-HLTPHOSFile\-Writer.cxx.
+
+\footnotesize\begin{verbatim}22 {
+23 
+24 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!fCurrentEvntCnt@{fCurrentEvntCnt}}
+\index{fCurrentEvntCnt@{fCurrentEvntCnt}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSFile\-Writer::f\-Current\-Evnt\-Cnt}\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTPHOSFileWriter_p0}
+
+
+
+
+Reimplemented in {\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer} {\rm (p.\,\pageref{classAliHLTPHOSCellEnergiesFileWriter_r0})}.
+
+Definition at line 20 of file Ali\-HLTPHOSFile\-Writer.h.\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!fCurrentFile@{fCurrentFile}}
+\index{fCurrentFile@{fCurrentFile}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}FILE$\ast$ {\bf Ali\-HLTPHOSFile\-Writer::f\-Current\-File}\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTPHOSFileWriter_p1}
+
+
+
+
+Definition at line 21 of file Ali\-HLTPHOSFile\-Writer.h.\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!fCurrentFilename@{fCurrentFilename}}
+\index{fCurrentFilename@{fCurrentFilename}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}string {\bf Ali\-HLTPHOSFile\-Writer::f\-Current\-Filename}\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTPHOSFileWriter_p3}
+
+
+
+
+Definition at line 23 of file Ali\-HLTPHOSFile\-Writer.h.
+
+Referenced by Make\-Filename().\index{AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}!fDirectory@{fDirectory}}
+\index{fDirectory@{fDirectory}!AliHLTPHOSFileWriter@{Ali\-HLTPHOSFile\-Writer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}string {\bf Ali\-HLTPHOSFile\-Writer::f\-Directory}\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTPHOSFileWriter_p2}
+
+
+
+
+Definition at line 22 of file Ali\-HLTPHOSFile\-Writer.h.
+
+Referenced by Make\-Filename().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer.h}\item 
+{\bf Ali\-HLTPHOSFile\-Writer.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSFileWriterComponent.tex b/HLT/PHOS/latex/classAliHLTPHOSFileWriterComponent.tex
new file mode 100644 (file)
index 0000000..3b8eb61
--- /dev/null
@@ -0,0 +1,399 @@
+\section{Ali\-HLTPHOSFile\-Writer\-Component Class Reference}
+\label{classAliHLTPHOSFileWriterComponent}\index{AliHLTPHOSFileWriterComponent@{AliHLTPHOSFileWriterComponent}}
+{\tt \#include $<$Ali\-HLTPHOSFile\-Writer\-Component.h$>$}
+
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer\-Component} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTPHOSFile\-Writer\-Component} ()
+\item 
+int {\bf Add\-Data\-Type} (string data\-Type)
+\item 
+virtual int {\bf Deinit} ()
+\item 
+virtual int {\bf Do\-Deinit} ()
+\item 
+virtual const char $\ast$ {\bf Get\-Component\-ID} ()
+\item 
+virtual void {\bf Get\-Input\-Data\-Types} (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)
+\item 
+virtual {\bf Ali\-HLTComponent\-Data\-Type} {\bf Get\-Output\-Data\-Type} ()
+\item 
+virtual void {\bf Get\-Output\-Data\-Size} (unsigned long \&const\-Base, double \&input\-Multiplier)
+\item 
+virtual {\bf Ali\-HLTComponent} $\ast$ {\bf Spawn} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+Bool\_\-t {\bf Is\-Registered\-Data\-Type} (const {\bf Ali\-HLTComponent\-Data\-Type} \&)
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer\-Component} (const {\bf Ali\-HLTPHOSFile\-Writer\-Component} \&)
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer\-Component} \& {\bf operator=} (const {\bf Ali\-HLTPHOSFile\-Writer\-Component})
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer} $\ast$ {\bf f\-Cell\-Energies\-File\-Writer\-Ptr}
+\item 
+{\bf Ali\-HLTPHOSDDLPacked\-File\-Writer} $\ast$ {\bf f\-DDLPacked\-File\-Writer\-Ptr}
+\item 
+string {\bf f\-Directory}
+\item 
+string {\bf f\-Filename}
+\item 
+{\bf Ali\-HLTComponent\-Data\-Type} {\bf f\-Data\-Types\-To\-File} [N\_\-DATATYPES]
+\item 
+int {\bf f\-Event\-Count}
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf f\-Input\-Data\-Types} [$\,$] = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!AliHLTPHOSFileWriterComponent@{AliHLTPHOSFileWriterComponent}}
+\index{AliHLTPHOSFileWriterComponent@{AliHLTPHOSFileWriterComponent}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSFile\-Writer\-Component::Ali\-HLTPHOSFile\-Writer\-Component ()}\label{classAliHLTPHOSFileWriterComponent_a0}
+
+
+
+
+Definition at line 37 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+References f\-Cell\-Energies\-File\-Writer\-Ptr, f\-Data\-Types\-To\-File, and f\-DDLPacked\-File\-Writer\-Ptr.
+
+\footnotesize\begin{verbatim}37                                                             :  AliHLTFileWriter(), fCellEnergiesFileWriterPtr(0) \
+38   , fDDLPackedFileWriterPtr(0), fDirectory(""),fFilename(""), fEventCount(0)
+39 {
+40   /* 
+41    *Default constructor
+42    */
+43   for(int i=0; i<N_DATATYPES; i++)
+44     {
+45       fDataTypesToFile[i] = kAliHLTVoidDataType;
+46     }
+47 
+48   fCellEnergiesFileWriterPtr = new AliHLTPHOSCellEnergiesFileWriter();
+49   fDDLPackedFileWriterPtr    = new AliHLTPHOSDDLPackedFileWriter();
+50 
+51 } 
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!~AliHLTPHOSFileWriterComponent@{$\sim$AliHLTPHOSFileWriterComponent}}
+\index{~AliHLTPHOSFileWriterComponent@{$\sim$AliHLTPHOSFileWriterComponent}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSFile\-Writer\-Component::$\sim${\bf Ali\-HLTPHOSFile\-Writer\-Component} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriterComponent_a1}
+
+
+
+
+Definition at line 54 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+\footnotesize\begin{verbatim}55 {
+56   delete fCellEnergiesFileWriterPtr;
+57   delete fDDLPackedFileWriterPtr;
+58 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!AliHLTPHOSFileWriterComponent@{AliHLTPHOSFileWriterComponent}}
+\index{AliHLTPHOSFileWriterComponent@{AliHLTPHOSFileWriterComponent}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSFile\-Writer\-Component::Ali\-HLTPHOSFile\-Writer\-Component (const {\bf Ali\-HLTPHOSFile\-Writer\-Component} \&)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriterComponent_d1}
+
+
+
+
+Definition at line 62 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+\footnotesize\begin{verbatim}62                                                                                                   : AliHLTFileWriter(), fCellEnergiesFileWriterPtr(0), \
+63   fDDLPackedFileWriterPtr(0), fDirectory(""),fFilename(""), fEventCount(0)
+64 {
+65 
+66 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!AddDataType@{AddDataType}}
+\index{AddDataType@{AddDataType}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSFile\-Writer\-Component::Add\-Data\-Type (string {\em data\-Type})}\label{classAliHLTPHOSFileWriterComponent_a2}
+
+
+This function registers a datatype to be written to file \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em data\-Type}]string define the datatype \end{description}
+\end{Desc}
+
+
+Definition at line 71 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+References f\-Data\-Types\-To\-File.
+
+\footnotesize\begin{verbatim}72 {
+75 
+76 
+77   int ret = -1;
+78   int tmpCnt = 0;
+79   for(int i=0; i< N_DATATYPES; i++)
+80     {
+81       if( fDataTypesToFile[i] != kAliHLTVoidDataType)
+82         {
+83           tmpCnt ++;
+84         }
+85     }
+86   
+87   string cmpString("gkCellEnergyDataType");
+88 
+89   if(dataType.compare("gkCellEnergyDataType") == 0)
+90     {
+91       fDataTypesToFile[tmpCnt] = AliHLTPHOSDefinitions::gkCellEnergyDataType; 
+92       cout <<"regsitring dataType for filewriting: fDataTypesToFile[" << tmpCnt <<"]"<<endl; 
+93     } 
+94   else if(dataType.compare("gkDDLPackedRawDataType") == 0)
+95     {
+96           fDataTypesToFile[tmpCnt] = AliHLTPHOSDefinitions::gkDDLPackedRawDataType; 
+97     }
+98 
+99   cout << "dataType.compare(cmpString) = " <<dataType.compare(cmpString)<<endl;
+100   return ret;
+101 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!Deinit@{Deinit}}
+\index{Deinit@{Deinit}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSFile\-Writer\-Component::Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriterComponent_a3}
+
+
+
+
+Definition at line 105 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+\footnotesize\begin{verbatim}106 {
+107   // see header file for documentation
+108   return 0;
+109 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!DoDeinit@{DoDeinit}}
+\index{DoDeinit@{DoDeinit}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSFile\-Writer\-Component::Do\-Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriterComponent_a4}
+
+
+
+
+Definition at line 112 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+References k\-HLTLog\-Info.
+
+\footnotesize\begin{verbatim}113 {
+114  // see header file for documentation
+115   Logging(kHLTLogInfo, "HLT", "PHOS", ",AliHLTPHOSFileWriterComponen DoDeinit");
+116   return 0;
+117 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!GetComponentID@{GetComponentID}}
+\index{GetComponentID@{GetComponentID}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTPHOSFile\-Writer\-Component::Get\-Component\-ID ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriterComponent_a5}
+
+
+
+
+Definition at line 120 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+\footnotesize\begin{verbatim}121 {
+122  // see header file for documentation
+123   return "PhosFileWriter";
+124 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!GetInputDataTypes@{GetInputDataTypes}}
+\index{GetInputDataTypes@{GetInputDataTypes}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSFile\-Writer\-Component::Get\-Input\-Data\-Types (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriterComponent_a6}
+
+
+
+
+Definition at line 135 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID.
+
+\footnotesize\begin{verbatim}136 {
+137   // see header file for documentation
+138   const AliHLTComponentDataType* pType=fInputDataTypes;
+139   while (pType->fID!=0) {
+140     list.push_back(*pType);
+141     pType++;
+142   }
+143 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!GetOutputDataSize@{GetOutputDataSize}}
+\index{GetOutputDataSize@{GetOutputDataSize}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSFile\-Writer\-Component::Get\-Output\-Data\-Size (unsigned long \& {\em const\-Base}, double \& {\em input\-Multiplier})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriterComponent_a8}
+
+
+
+
+Definition at line 153 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+\footnotesize\begin{verbatim}155 {
+156   // see header file for documentation
+157   constBase = 30;
+158   inputMultiplier = 0.1;
+159 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!GetOutputDataType@{GetOutputDataType}}
+\index{GetOutputDataType@{GetOutputDataType}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} Ali\-HLTPHOSFile\-Writer\-Component::Get\-Output\-Data\-Type ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriterComponent_a7}
+
+
+
+
+Definition at line 146 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+\footnotesize\begin{verbatim}147 {
+148   // see header file for documentation
+149   return AliHLTPHOSDefinitions::gkCellEnergyDataType;
+150 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!IsRegisteredDataType@{IsRegisteredDataType}}
+\index{IsRegisteredDataType@{IsRegisteredDataType}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Bool\_\-t Ali\-HLTPHOSFile\-Writer\-Component::Is\-Registered\-Data\-Type (const {\bf Ali\-HLTComponent\-Data\-Type} \&)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriterComponent_d0}
+
+
+
+
+Definition at line 162 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+References f\-Data\-Types\-To\-File.
+
+\footnotesize\begin{verbatim}163 {
+164   // see header file for documentation
+165   Bool_t tmp = kFALSE;
+166   for(int i =0; i<N_DATATYPES; i++)
+167     {
+168       if((fDataTypesToFile[i] == dataType) && (dataType !=  kAliHLTVoidDataType))
+169         {
+170           tmp = kTRUE;
+171         }
+172     }
+173 
+174   return tmp;
+175 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSFile\-Writer\-Component}\& Ali\-HLTPHOSFile\-Writer\-Component::operator= (const  {\em Ali\-HLTPHOSFile\-Writer\-Component})\hspace{0.3cm}{\tt  [inline, private]}}\label{classAliHLTPHOSFileWriterComponent_d2}
+
+
+
+
+Definition at line 42 of file Ali\-HLTPHOSFile\-Writer\-Component.h.
+
+\footnotesize\begin{verbatim}43     {
+44       return *this;
+45     };
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!Spawn@{Spawn}}
+\index{Spawn@{Spawn}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent} $\ast$ Ali\-HLTPHOSFile\-Writer\-Component::Spawn ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSFileWriterComponent_a9}
+
+
+
+
+Definition at line 127 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+\footnotesize\begin{verbatim}128 {
+129   // see header file for documentation
+130   return new AliHLTPHOSFileWriterComponent;
+131 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!fCellEnergiesFileWriterPtr@{fCellEnergiesFileWriterPtr}}
+\index{fCellEnergiesFileWriterPtr@{fCellEnergiesFileWriterPtr}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSCell\-Energies\-File\-Writer}$\ast$ {\bf Ali\-HLTPHOSFile\-Writer\-Component::f\-Cell\-Energies\-File\-Writer\-Ptr}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriterComponent_r0}
+
+
+to write celle energies to files 
+
+Definition at line 46 of file Ali\-HLTPHOSFile\-Writer\-Component.h.
+
+Referenced by Ali\-HLTPHOSFile\-Writer\-Component().\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!fDataTypesToFile@{fDataTypesToFile}}
+\index{fDataTypesToFile@{fDataTypesToFile}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSFile\-Writer\-Component::f\-Data\-Types\-To\-File}[N\_\-DATATYPES]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriterComponent_r4}
+
+
+Array for registering datatypes that should be written to files 
+
+Definition at line 50 of file Ali\-HLTPHOSFile\-Writer\-Component.h.
+
+Referenced by Add\-Data\-Type(), Ali\-HLTPHOSFile\-Writer\-Component(), and Is\-Registered\-Data\-Type().\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!fDDLPackedFileWriterPtr@{fDDLPackedFileWriterPtr}}
+\index{fDDLPackedFileWriterPtr@{fDDLPackedFileWriterPtr}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSDDLPacked\-File\-Writer}$\ast$ {\bf Ali\-HLTPHOSFile\-Writer\-Component::f\-DDLPacked\-File\-Writer\-Ptr}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriterComponent_r1}
+
+
+to write untouched DDL raw data to files 
+
+Definition at line 47 of file Ali\-HLTPHOSFile\-Writer\-Component.h.
+
+Referenced by Ali\-HLTPHOSFile\-Writer\-Component().\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!fDirectory@{fDirectory}}
+\index{fDirectory@{fDirectory}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}string {\bf Ali\-HLTPHOSFile\-Writer\-Component::f\-Directory}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriterComponent_r2}
+
+
+target directory for files 
+
+Definition at line 48 of file Ali\-HLTPHOSFile\-Writer\-Component.h.\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!fEventCount@{fEventCount}}
+\index{fEventCount@{fEventCount}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSFile\-Writer\-Component::f\-Event\-Count}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriterComponent_r5}
+
+
+Event counter 
+
+Definition at line 51 of file Ali\-HLTPHOSFile\-Writer\-Component.h.\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!fFilename@{fFilename}}
+\index{fFilename@{fFilename}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}string {\bf Ali\-HLTPHOSFile\-Writer\-Component::f\-Filename}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSFileWriterComponent_r3}
+
+
+the basename of the output file 
+
+Definition at line 49 of file Ali\-HLTPHOSFile\-Writer\-Component.h.\index{AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}!fInputDataTypes@{fInputDataTypes}}
+\index{fInputDataTypes@{fInputDataTypes}!AliHLTPHOSFileWriterComponent@{Ali\-HLTPHOSFile\-Writer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSFile\-Writer\-Component::f\-Input\-Data\-Types} = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSFileWriterComponent_v0}
+
+
+Datatypes that can be given as input to this component 
+
+Definition at line 32 of file Ali\-HLTPHOSFile\-Writer\-Component.cxx.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSFile\-Writer\-Component.h}\item 
+{\bf Ali\-HLTPHOSFile\-Writer\-Component.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSGetEventButton.tex b/HLT/PHOS/latex/classAliHLTPHOSGetEventButton.tex
new file mode 100644 (file)
index 0000000..de4f102
--- /dev/null
@@ -0,0 +1,129 @@
+\section{Ali\-HLTPHOSGet\-Event\-Button Class Reference}
+\label{classAliHLTPHOSGetEventButton}\index{AliHLTPHOSGetEventButton@{AliHLTPHOSGetEventButton}}
+{\tt \#include $<$Ali\-HLTPHOSGet\-Event\-Button.h$>$}
+
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSGet\-Event\-Button} ()
+\item 
+{\bf Ali\-HLTPHOSGet\-Event\-Button} (TGGroup\-Frame $\ast$gf\-Ptr, char $\ast$name, char opt='e')
+\item 
+{\bf Ali\-HLTPHOSGet\-Event\-Button} (TGComposite\-Frame $\ast$gf\-Ptr, char $\ast$name, char opt='e')
+\item 
+virtual Bool\_\-t {\bf Handle\-Button} (Event\_\-t $\ast$event)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSOnline\-Display} $\ast$ {\bf online\-Display\-Ptr}
+\item 
+char {\bf f\-Option}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}!AliHLTPHOSGetEventButton@{AliHLTPHOSGetEventButton}}
+\index{AliHLTPHOSGetEventButton@{AliHLTPHOSGetEventButton}!AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSGet\-Event\-Button::Ali\-HLTPHOSGet\-Event\-Button ()}\label{classAliHLTPHOSGetEventButton_a0}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSGet\-Event\-Button.cxx.
+
+\footnotesize\begin{verbatim}28 {
+29   printf("\nYou cannot initalize the HetEventButton without parameters\n");
+30 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}!AliHLTPHOSGetEventButton@{AliHLTPHOSGetEventButton}}
+\index{AliHLTPHOSGetEventButton@{AliHLTPHOSGetEventButton}!AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSGet\-Event\-Button::Ali\-HLTPHOSGet\-Event\-Button (TGGroup\-Frame $\ast$ {\em gf\-Ptr}, char $\ast$ {\em name}, char {\em opt} = {\tt 'e'})}\label{classAliHLTPHOSGetEventButton_a1}
+
+
+\index{AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}!AliHLTPHOSGetEventButton@{AliHLTPHOSGetEventButton}}
+\index{AliHLTPHOSGetEventButton@{AliHLTPHOSGetEventButton}!AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSGet\-Event\-Button::Ali\-HLTPHOSGet\-Event\-Button (TGComposite\-Frame $\ast$ {\em gf\-Ptr}, char $\ast$ {\em name}, char {\em opt} = {\tt 'e'})}\label{classAliHLTPHOSGetEventButton_a2}
+
+
+
+
+Definition at line 33 of file Ali\-HLTPHOSGet\-Event\-Button.cxx.
+
+References f\-Option, and online\-Display\-Ptr.
+
+\footnotesize\begin{verbatim}33                                                                                                :TGTextButton(gfPtr, name)
+34 {
+35   fOption = opt;
+36   onlineDisplayPtr = (AliHLTPHOSOnlineDisplay *)gfPtr;
+37 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}!HandleButton@{HandleButton}}
+\index{HandleButton@{HandleButton}!AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Bool\_\-t Ali\-HLTPHOSGet\-Event\-Button::Handle\-Button (Event\_\-t $\ast$ {\em event})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSGetEventButton_a3}
+
+
+
+
+Definition at line 41 of file Ali\-HLTPHOSGet\-Event\-Button.cxx.
+
+References Ali\-HLTPHOSOnline\-Display::Get\-Histogram(), Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event(), and online\-Display\-Ptr.
+
+\footnotesize\begin{verbatim}42 {
+43   if(event->fType == kButtonPress) 
+44     {
+45       switch (fOption)
+46         {
+47         case 'e':
+48           onlineDisplayPtr->GetNextEvent();
+49           cout << "updating Eventdisplay" << endl;
+50           break;
+51 
+52         case 'h':
+53           onlineDisplayPtr->GetHistogram();
+54           cout << "updating Histograms" << endl;
+55           break;
+56         case 'r':
+57            onlineDisplayPtr-> GetNextEventRaw();
+58            //   cout << "updating RawdataDisplay" << endl;
+59         }
+60    //     onlineDisplayPtr->GetNextEvent();
+61     }
+62 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}!fOption@{fOption}}
+\index{fOption@{fOption}!AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char {\bf Ali\-HLTPHOSGet\-Event\-Button::f\-Option}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSGetEventButton_r1}
+
+
+
+
+Definition at line 21 of file Ali\-HLTPHOSGet\-Event\-Button.h.
+
+Referenced by Ali\-HLTPHOSGet\-Event\-Button().\index{AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}!onlineDisplayPtr@{onlineDisplayPtr}}
+\index{onlineDisplayPtr@{onlineDisplayPtr}!AliHLTPHOSGetEventButton@{Ali\-HLTPHOSGet\-Event\-Button}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSOnline\-Display}$\ast$ {\bf Ali\-HLTPHOSGet\-Event\-Button::online\-Display\-Ptr}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSGetEventButton_r0}
+
+
+
+
+Definition at line 20 of file Ali\-HLTPHOSGet\-Event\-Button.h.
+
+Referenced by Ali\-HLTPHOSGet\-Event\-Button(), and Handle\-Button().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+Online\-Display/{\bf Ali\-HLTPHOSGet\-Event\-Button.h}\item 
+Online\-Display/{\bf Ali\-HLTPHOSGet\-Event\-Button.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSHistogramProducerComponent.eps b/HLT/PHOS/latex/classAliHLTPHOSHistogramProducerComponent.eps
new file mode 100644 (file)
index 0000000..54f874a
--- /dev/null
@@ -0,0 +1,209 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 301.887
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.65625 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 4 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTPHOSHistogramProducerComponent) cw
+(AliHLTProcessor) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTPHOSHistogramProducerComponent) 0 0 box
+ (AliHLTProcessor) 0 1 box
+ (AliHLTComponent) 0 2 box
+ (AliHLTLogging) 0 3 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
diff --git a/HLT/PHOS/latex/classAliHLTPHOSHistogramProducerComponent.tex b/HLT/PHOS/latex/classAliHLTPHOSHistogramProducerComponent.tex
new file mode 100644 (file)
index 0000000..ca42875
--- /dev/null
@@ -0,0 +1,619 @@
+\section{Ali\-HLTPHOSHistogram\-Producer\-Component Class Reference}
+\label{classAliHLTPHOSHistogramProducerComponent}\index{AliHLTPHOSHistogramProducerComponent@{AliHLTPHOSHistogramProducerComponent}}
+{\tt \#include $<$Ali\-HLTPHOSHistogram\-Producer\-Component.h$>$}
+
+Inheritance diagram for Ali\-HLTPHOSHistogram\-Producer\-Component::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classAliHLTPHOSHistogramProducerComponent}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSHistogram\-Producer\-Component} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTPHOSHistogram\-Producer\-Component} ()
+\item 
+{\bf Ali\-HLTPHOSHistogram\-Producer\-Component} (const {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} \&)
+\item 
+{\bf Ali\-HLTPHOSHistogram\-Producer\-Component} \& {\bf operator=} (const {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} \&)
+\item 
+virtual int {\bf Do\-Init} (int argc=0, const char $\ast$$\ast$argv=0)
+\item 
+virtual int {\bf Deinit} ()
+\item 
+virtual int {\bf Do\-Deinit} ()
+\item 
+virtual int {\bf Do\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks)
+\item 
+void {\bf Dump\-Data} (int gain=0)
+\item 
+const int {\bf Get\-Equippment\-Id} () const 
+\item 
+virtual const char $\ast$ {\bf Get\-Component\-ID} ()
+\item 
+virtual void {\bf Get\-Input\-Data\-Types} (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)
+\item 
+virtual {\bf Ali\-HLTComponent\-Data\-Type} {\bf Get\-Output\-Data\-Type} ()
+\item 
+virtual void {\bf Get\-Output\-Data\-Size} (unsigned long \&const\-Base, double \&input\-Multiplier)
+\item 
+void {\bf Set\-Equippment\-Id} (int id=0)
+\item 
+virtual {\bf Ali\-HLTComponent} $\ast$ {\bf Spawn} ()
+\end{CompactItemize}
+\subsection*{Protected Member Functions}
+\begin{CompactItemize}
+\item 
+void {\bf Reset} ()
+\item 
+void {\bf Reset\-Data\-Ptr} ()
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+Double\_\-t {\bf f\-Energy\-Average\-Values} [N\_\-ZROWS\_\-MOD][N\_\-XCOLUMNS\_\-MOD][N\_\-GAINS]
+\item 
+Double\_\-t {\bf f\-Accumulated\-Values} [N\_\-ZROWS\_\-MOD][N\_\-XCOLUMNS\_\-MOD][N\_\-GAINS]
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Hits} [N\_\-ZROWS\_\-MOD][N\_\-XCOLUMNS\_\-MOD][N\_\-GAINS]
+\item 
+int {\bf f\-Event\-Count}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Equippment\-ID}
+\item 
+Double\_\-t {\bf f\-Tmp\-Channel\-Data} [ALTRO\_\-MAX\_\-SAMPLES]
+\item 
+{\bf Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct} $\ast$ {\bf f\-Out\-Ptr}
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf fgk\-Input\-Data\-Types} [$\,$] = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf fgk\-Output\-Data\-Type} = {\bf k\-Ali\-HLTVoid\-Data\-Type}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!AliHLTPHOSHistogramProducerComponent@{AliHLTPHOSHistogramProducerComponent}}
+\index{AliHLTPHOSHistogramProducerComponent@{AliHLTPHOSHistogramProducerComponent}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSHistogram\-Producer\-Component::Ali\-HLTPHOSHistogram\-Producer\-Component ()}\label{classAliHLTPHOSHistogramProducerComponent_a0}
+
+
+Default constructor 
+
+Definition at line 41 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References Reset().
+
+\footnotesize\begin{verbatim}41                                                                            :AliHLTProcessor(), fEventCount(0),  fEquippmentID(0)
+42 {
+46   Reset();
+47 } 
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!~AliHLTPHOSHistogramProducerComponent@{$\sim$AliHLTPHOSHistogramProducerComponent}}
+\index{~AliHLTPHOSHistogramProducerComponent@{$\sim$AliHLTPHOSHistogramProducerComponent}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSHistogram\-Producer\-Component::$\sim${\bf Ali\-HLTPHOSHistogram\-Producer\-Component} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a1}
+
+
+Default destructor 
+
+Definition at line 50 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}51 {
+55 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!AliHLTPHOSHistogramProducerComponent@{AliHLTPHOSHistogramProducerComponent}}
+\index{AliHLTPHOSHistogramProducerComponent@{AliHLTPHOSHistogramProducerComponent}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSHistogram\-Producer\-Component::Ali\-HLTPHOSHistogram\-Producer\-Component (const {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} \&)}\label{classAliHLTPHOSHistogramProducerComponent_a2}
+
+
+Copy constructor 
+
+Definition at line 58 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}58                                                                                                                          : AliHLTProcessor(), fEventCount(0),  fEquippmentID(0)
+59 {
+63 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!Deinit@{Deinit}}
+\index{Deinit@{Deinit}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSHistogram\-Producer\-Component::Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a5}
+
+
+See base class for documenation 
+
+Reimplemented from {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_a3})}.
+
+Definition at line 67 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}68 {
+72   return 0;
+73 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!DoDeinit@{DoDeinit}}
+\index{DoDeinit@{DoDeinit}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a6}
+
+
+Default method for the internal clean-up. The method is called by {\bf Deinit}{\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a5})} 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_b6})}.
+
+Definition at line 77 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References k\-HLTLog\-Info, and Ali\-HLTLogging::Logging().
+
+\footnotesize\begin{verbatim}78 {
+79   Logging(kHLTLogInfo, "HLT", "PHOS", ",AliHLTPHOSHistogramProducer DoDeinit");
+80   return 0;
+81 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!DoEvent@{DoEvent}}
+\index{DoEvent@{DoEvent}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a7}
+
+
+This fucntion takes as input cell energies as input and accumulates Energy and the number of hits on a per channel basis and fills a four dimensional array [N\_\-MODULES][N\_\-ROWS\_\-MOD][N\_\-COLUMNS\_\-MOD][N\_\-GAINS]. Energy distribution histograms (root) are updatet continioulsy and written to root files at the end of run command (actually the \char`\"{}stop\char`\"{} command) 
+
+Reimplemented from {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_d0})}.
+
+Definition at line 130 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References Ali\-HLTUInt8\_\-t, Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Accumulated\-Energies, f\-Accumulated\-Values, Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Cnt, Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Energy, f\-Event\-Count, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Gain, Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Hits, f\-Hits, Ali\-HLTComponent::Fill\-Block\-Data(), Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Module\-ID, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Module\-ID, Ali\-HLTComponent\-Block\-Data::f\-Offset, f\-Out\-Ptr, Ali\-HLTComponent\-Block\-Data::f\-Ptr, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Rcu\-X, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Rcu\-Z, Ali\-HLTComponent\-Block\-Data::f\-Size, Ali\-HLTComponent\-Block\-Data::f\-Specification, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Valid\-Data, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-X, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Z, k\-HLTLog\-Fatal, Ali\-HLTLogging::Logging(), N\_\-XCOLUMNS\_\-RCU, and N\_\-ZROWS\_\-RCU.
+
+\footnotesize\begin{verbatim}133 {
+142   unsigned long ndx;
+143   UInt_t offset           = 0; 
+144   UInt_t mysize           = 0;
+145   UInt_t tSize            = 0;
+146 
+147   const AliHLTComponentBlockData* iter = NULL;   
+148   AliHLTPHOSRcuCellEnergyDataStruct *cellDataPtr;
+149   AliHLTUInt8_t* outBPtr;
+150   outBPtr = outputPtr;
+151   fOutPtr =  (AliHLTPHOSModuleCellAccumulatedEnergyDataStruct*)outBPtr;
+152 
+153   int tmpCnt;
+154   AliHLTUInt8_t tmpModuleID;
+155   AliHLTUInt8_t tmpRcuX;
+156   AliHLTUInt8_t tmpRcuZ;
+157 
+158   for( ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
+159     {
+160       iter = blocks+ndx;
+161       cellDataPtr = (AliHLTPHOSRcuCellEnergyDataStruct*)( iter->fPtr);
+162       tmpCnt =  cellDataPtr->fCnt;
+163 
+164       tmpModuleID = cellDataPtr->fModuleID;
+165       tmpRcuX     = cellDataPtr->fRcuX ;
+166       tmpRcuZ     = cellDataPtr->fRcuZ;
+167       fOutPtr->fModuleID = tmpModuleID;
+168       int tmpGain;
+169       int tmpZ;
+170       int tmpX;
+171 
+172       //      for(int i= 0; i< tmpCnt; i ++)
+173       for(int i= 0; i <= tmpCnt; i ++)
+174         {
+175           tmpZ =  cellDataPtr->fValidData[i].fZ + N_ZROWS_RCU*tmpRcuZ;
+176           tmpX =  cellDataPtr->fValidData[i].fX + N_XCOLUMNS_RCU*tmpRcuX;
+177 
+178           if(cellDataPtr->fValidData[i].fGain == HIGH_GAIN)
+179             {
+180               fAccumulatedValues[tmpZ][tmpX][HIGH_GAIN] +=  cellDataPtr->fValidData[i].fEnergy;
+181               fHits[tmpZ][tmpX][HIGH_GAIN] ++;
+182             }
+183           else if(cellDataPtr->fValidData[i].fGain == LOW_GAIN)
+184             {
+185               fAccumulatedValues[tmpZ][tmpX][LOW_GAIN] +=  cellDataPtr->fValidData[i].fEnergy;
+186               fHits[tmpZ][tmpX][LOW_GAIN] ++;
+187             }
+188         }
+189     }
+190 
+191 
+192   for(int z=0;  z < N_ZROWS_MOD; z ++ )
+193     {
+194       for(int x = 0; x < N_XCOLUMNS_MOD; x ++)
+195         {
+196           for(int gain =0; gain < N_GAINS; gain ++)
+197             {
+198               fOutPtr->fAccumulatedEnergies[z][x][gain] = fAccumulatedValues[z][x][gain];
+199               fOutPtr->fHits[z][x][gain] = fHits[z][x][gain];
+200             }
+201         } 
+202     }
+203 
+204 
+205   //pushing data to shared output memory
+206   mysize += sizeof(AliHLTPHOSModuleCellAccumulatedEnergyDataStruct);
+207   AliHLTComponentBlockData bd;
+208   FillBlockData( bd );
+209   bd.fOffset = offset;
+210   bd.fSize = mysize;
+211   bd.fDataType = AliHLTPHOSDefinitions::gkCellAccumulatedEnergyDataType;
+212   bd.fSpecification = 0xFFFFFFFF;
+213   outputBlocks.push_back( bd );
+214   tSize += mysize;
+215   outBPtr += mysize;
+216 
+217   if( tSize > size )
+218     {
+219       Logging( kHLTLogFatal, "HLT::AliHLTHistogramProducerComponent::DoEvent", "Too much data",
+220                "Data written over allowed buffer. Amount written: %lu, allowed amount: %lu."
+221                , tSize, size );
+222       return EMSGSIZE;
+223     }
+224 
+225   fEventCount++; 
+226   return 0;
+227 }//end DoEvent
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!DoInit@{DoInit}}
+\index{DoInit@{DoInit}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Init (int {\em argc} = {\tt 0}, const char $\ast$$\ast$ {\em argv} = {\tt 0})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a4}
+
+
+Default method for the internal initialization. The method is called by {\bf Init}{\rm (p.\,\pageref{classAliHLTProcessor_a2})} 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_b5})}.
+
+Definition at line 231 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References Reset().
+
+\footnotesize\begin{verbatim}232 {
+233   Reset();
+234   if (argc==0 && argv==NULL) {
+235     // this is currently just to get rid of the warning "unused parameter"
+236   }
+237   return 0;
+238 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!DumpData@{DumpData}}
+\index{DumpData@{DumpData}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSHistogram\-Producer\-Component::Dump\-Data (int {\em gain} = {\tt 0})}\label{classAliHLTPHOSHistogramProducerComponent_a8}
+
+
+
+
+Definition at line 242 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References f\-Accumulated\-Values, and N\_\-GAINS.
+
+\footnotesize\begin{verbatim}243 {
+244 
+245   if(gain < 0 || gain >  N_GAINS)
+246     {
+247       cout <<"AliHLTPHOSHistogramProducerComponent::DumpDat: Error, gain must be between " << 0 << "and" << N_GAINS << endl;
+248     }
+249   
+250   for(int mod = 0; mod < N_MODULES; mod ++)
+251     {
+252       if(gain == HIGH_GAIN)
+253         {
+254           cout << endl <<" ***********  MODULE" << mod << "****HIGH_GAIN" <<"************" << endl;
+255         }
+256       else if(gain == LOW_GAIN)
+257         {
+258           cout << endl <<" ***********  MODULE" << mod << "****LOW_GAIN" <<"************" << endl;
+259         }
+260       
+261       for(int row = 0; row < N_ROWS_MOD; row ++)
+262         {
+263           for(int col = 0; col < N_COLUMNS_MOD; col ++)
+264             {
+265               if(fAccumulatedValues[row][col][0] != 0)
+266                 { 
+267                   cout << fAccumulatedValues[row][col][0] << "\t";
+268                 }
+269             }
+270         } 
+271     }
+272 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!GetComponentID@{GetComponentID}}
+\index{GetComponentID@{GetComponentID}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTPHOSHistogram\-Producer\-Component::Get\-Component\-ID ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a10}
+
+
+See base class for documenation 
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a9})}.
+
+Definition at line 85 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}86 {
+90   return "HistogramProducer";
+91 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!GetEquippmentId@{GetEquippmentId}}
+\index{GetEquippmentId@{GetEquippmentId}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const int Ali\-HLTPHOSHistogram\-Producer\-Component::Get\-Equippment\-Id () const}\label{classAliHLTPHOSHistogramProducerComponent_a9}
+
+
+
+
+Definition at line 317 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}318 {
+319   return  fEquippmentID;
+320 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!GetInputDataTypes@{GetInputDataTypes}}
+\index{GetInputDataTypes@{GetInputDataTypes}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSHistogram\-Producer\-Component::Get\-Input\-Data\-Types (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \& {\em list})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a11}
+
+
+See base class for documenation 
+
+Definition at line 95 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID.
+
+\footnotesize\begin{verbatim}96 {
+100   const AliHLTComponentDataType* pType=fgkInputDataTypes;
+101   while (pType->fID!=0) 
+102     {
+103       list.push_back(*pType);
+104       pType++;
+105     }
+106 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!GetOutputDataSize@{GetOutputDataSize}}
+\index{GetOutputDataSize@{GetOutputDataSize}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSHistogram\-Producer\-Component::Get\-Output\-Data\-Size (unsigned long \& {\em const\-Base}, double \& {\em input\-Multiplier})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a13}
+
+
+See base class for documenation 
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a12})}.
+
+Definition at line 120 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}121 {
+125   constBase = 30;
+126   inputMultiplier = 1;
+127 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!GetOutputDataType@{GetOutputDataType}}
+\index{GetOutputDataType@{GetOutputDataType}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} Ali\-HLTPHOSHistogram\-Producer\-Component::Get\-Output\-Data\-Type ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a12}
+
+
+See base class for documenation 
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a11})}.
+
+Definition at line 110 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}111 {
+115   return AliHLTPHOSDefinitions::gkCellEnergyDataType;
+116 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSHistogram\-Producer\-Component}\& Ali\-HLTPHOSHistogram\-Producer\-Component::operator= (const {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} \&)\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTPHOSHistogramProducerComponent_a3}
+
+
+
+
+Definition at line 21 of file Ali\-HLTPHOSHistogram\-Producer\-Component.h.
+
+\footnotesize\begin{verbatim}22    {
+23       return *this;
+24    };
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!Reset@{Reset}}
+\index{Reset@{Reset}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSHistogram\-Producer\-Component::Reset ()\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTPHOSHistogramProducerComponent_b0}
+
+
+
+
+Definition at line 277 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References f\-Accumulated\-Values, f\-Hits, and f\-Tmp\-Channel\-Data.
+
+Referenced by Ali\-HLTPHOSHistogram\-Producer\-Component(), and Do\-Init().
+
+\footnotesize\begin{verbatim}278 {
+279   for(int mod = 0; mod < N_MODULES; mod ++)
+280     {
+281       for(int row = 0; row <  N_ROWS_MOD; row ++)
+282         {
+283           for(int col = 0; col < N_COLUMNS_MOD; col ++)
+284             {
+285               for(int gain = 0; gain < N_GAINS; gain ++ )
+286                 { 
+287                   fAccumulatedValues[row][col][gain] = 0;
+288                   fHits[row][col][gain] = 0;      
+289                 }
+290             }
+291         }
+292     }
+293 
+294   for(int i = 0 ; i<  ALTRO_MAX_SAMPLES; i++)
+295     {
+296       fTmpChannelData[i] = 0;
+297     }
+298 } // end Reset
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!ResetDataPtr@{ResetDataPtr}}
+\index{ResetDataPtr@{ResetDataPtr}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSHistogram\-Producer\-Component::Reset\-Data\-Ptr ()\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTPHOSHistogramProducerComponent_b1}
+
+
+
+
+Definition at line 301 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References f\-Tmp\-Channel\-Data.
+
+\footnotesize\begin{verbatim}302 {
+303   for(int i = 0 ; i<  ALTRO_MAX_SAMPLES; i++)
+304     {
+305       fTmpChannelData[i] = 0;
+306     }
+307 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!SetEquippmentId@{SetEquippmentId}}
+\index{SetEquippmentId@{SetEquippmentId}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSHistogram\-Producer\-Component::Set\-Equippment\-Id (int {\em id} = {\tt 0})}\label{classAliHLTPHOSHistogramProducerComponent_a14}
+
+
+
+
+Definition at line 311 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+References f\-Equippment\-ID.
+
+\footnotesize\begin{verbatim}312 {
+313   fEquippmentID = id;
+314 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!Spawn@{Spawn}}
+\index{Spawn@{Spawn}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent} $\ast$ Ali\-HLTPHOSHistogram\-Producer\-Component::Spawn ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSHistogramProducerComponent_a15}
+
+
+Spawn function. Each component must implement a spawn function to create a new instance of the class. Basically the function must return {\em new {\bf my\_\-class\_\-name}\/}. \begin{Desc}
+\item[Returns:]new class instance \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a13})}.
+
+Definition at line 324 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}325 {
+326   return new AliHLTPHOSHistogramProducerComponent;
+327 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fAccumulatedValues@{fAccumulatedValues}}
+\index{fAccumulatedValues@{fAccumulatedValues}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::f\-Accumulated\-Values}[N\_\-ZROWS\_\-MOD][N\_\-XCOLUMNS\_\-MOD][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSHistogramProducerComponent_r1}
+
+
+Accumulated energy for each readout channel of one RCU 
+
+Definition at line 50 of file Ali\-HLTPHOSHistogram\-Producer\-Component.h.
+
+Referenced by Do\-Event(), Dump\-Data(), and Reset().\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fEnergyAverageValues@{fEnergyAverageValues}}
+\index{fEnergyAverageValues@{fEnergyAverageValues}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::f\-Energy\-Average\-Values}[N\_\-ZROWS\_\-MOD][N\_\-XCOLUMNS\_\-MOD][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSHistogramProducerComponent_r0}
+
+
+Accumulated energy divided by the number of hits for each readout channel 
+
+Definition at line 49 of file Ali\-HLTPHOSHistogram\-Producer\-Component.h.\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fEquippmentID@{fEquippmentID}}
+\index{fEquippmentID@{fEquippmentID}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::f\-Equippment\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSHistogramProducerComponent_r4}
+
+
+Eguippment ID as defined by ALICE 
+
+Definition at line 54 of file Ali\-HLTPHOSHistogram\-Producer\-Component.h.
+
+Referenced by Set\-Equippment\-Id().\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fEventCount@{fEventCount}}
+\index{fEventCount@{fEventCount}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::f\-Event\-Count}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSHistogramProducerComponent_r3}
+
+
+Event counter, (mainly used for debugging) 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_r2})}.
+
+Definition at line 53 of file Ali\-HLTPHOSHistogram\-Producer\-Component.h.
+
+Referenced by Do\-Event().\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fgkInputDataTypes@{fgkInputDataTypes}}
+\index{fgkInputDataTypes@{fgkInputDataTypes}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::fgk\-Input\-Data\-Types} = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSHistogramProducerComponent_v0}
+
+
+List of datatypes that can be given to this component 
+
+Definition at line 28 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fgkOutputDataType@{fgkOutputDataType}}
+\index{fgkOutputDataType@{fgkOutputDataType}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::fgk\-Output\-Data\-Type} = {\bf k\-Ali\-HLTVoid\-Data\-Type}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSHistogramProducerComponent_v1}
+
+
+Output datatype produced by this component 
+
+Definition at line 29 of file Ali\-HLTPHOSHistogram\-Producer\-Component.cxx.\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fHits@{fHits}}
+\index{fHits@{fHits}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::f\-Hits}[N\_\-ZROWS\_\-MOD][N\_\-XCOLUMNS\_\-MOD][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSHistogramProducerComponent_r2}
+
+
+Total number of hits for each cell of one RCU 
+
+Definition at line 52 of file Ali\-HLTPHOSHistogram\-Producer\-Component.h.
+
+Referenced by Do\-Event(), and Reset().\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fOutPtr@{fOutPtr}}
+\index{fOutPtr@{fOutPtr}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct}$\ast$ {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::f\-Out\-Ptr}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSHistogramProducerComponent_r6}
+
+
+Pointer to outputbuffer to write results from the component into shared memory 
+
+Definition at line 56 of file Ali\-HLTPHOSHistogram\-Producer\-Component.h.
+
+Referenced by Do\-Event().\index{AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}!fTmpChannelData@{fTmpChannelData}}
+\index{fTmpChannelData@{fTmpChannelData}!AliHLTPHOSHistogramProducerComponent@{Ali\-HLTPHOSHistogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSHistogram\-Producer\-Component::f\-Tmp\-Channel\-Data}[ALTRO\_\-MAX\_\-SAMPLES]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSHistogramProducerComponent_r5}
+
+
+Array to temporarily store dat fro a single altro channel 
+
+Definition at line 55 of file Ali\-HLTPHOSHistogram\-Producer\-Component.h.
+
+Referenced by Reset(), and Reset\-Data\-Ptr().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSHistogram\-Producer\-Component.h}\item 
+{\bf Ali\-HLTPHOSHistogram\-Producer\-Component.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSModuleMergerComponent.eps b/HLT/PHOS/latex/classAliHLTPHOSModuleMergerComponent.eps
new file mode 100644 (file)
index 0000000..e85729c
--- /dev/null
@@ -0,0 +1,209 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 333.333
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.5 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 4 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTPHOSModuleMergerComponent) cw
+(AliHLTProcessor) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTPHOSModuleMergerComponent) 0 0 box
+ (AliHLTProcessor) 0 1 box
+ (AliHLTComponent) 0 2 box
+ (AliHLTLogging) 0 3 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
diff --git a/HLT/PHOS/latex/classAliHLTPHOSModuleMergerComponent.tex b/HLT/PHOS/latex/classAliHLTPHOSModuleMergerComponent.tex
new file mode 100644 (file)
index 0000000..28bec8e
--- /dev/null
@@ -0,0 +1,563 @@
+\section{Ali\-HLTPHOSModule\-Merger\-Component Class Reference}
+\label{classAliHLTPHOSModuleMergerComponent}\index{AliHLTPHOSModuleMergerComponent@{AliHLTPHOSModuleMergerComponent}}
+{\tt \#include $<$Ali\-HLTPHOSModule\-Merger\-Component.h$>$}
+
+Inheritance diagram for Ali\-HLTPHOSModule\-Merger\-Component::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classAliHLTPHOSModuleMergerComponent}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSModule\-Merger\-Component} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTPHOSModule\-Merger\-Component} ()
+\item 
+{\bf Ali\-HLTPHOSModule\-Merger\-Component} (const {\bf Ali\-HLTPHOSModule\-Merger\-Component} \&)
+\item 
+{\bf Ali\-HLTPHOSModule\-Merger\-Component} \& {\bf operator=} (const {\bf Ali\-HLTPHOSModule\-Merger\-Component} \&)
+\item 
+virtual int {\bf Do\-Init} (int argc=0, const char $\ast$$\ast$argv=0)
+\item 
+virtual int {\bf Deinit} ()
+\item 
+virtual int {\bf Do\-Deinit} ()
+\item 
+virtual int {\bf Do\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks)
+\item 
+void {\bf Dump\-Data} (int gain=0)
+\item 
+int {\bf Get\-Equippment\-Id} ()
+\item 
+virtual const char $\ast$ {\bf Get\-Component\-ID} ()
+\item 
+virtual void {\bf Get\-Input\-Data\-Types} (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)
+\item 
+virtual {\bf Ali\-HLTComponent\-Data\-Type} {\bf Get\-Output\-Data\-Type} ()
+\item 
+virtual void {\bf Get\-Output\-Data\-Size} (unsigned long \&const\-Base, double \&input\-Multiplier)
+\item 
+void {\bf Set\-Equippment\-Id} (int id=0)
+\item 
+virtual {\bf Ali\-HLTComponent} $\ast$ {\bf Spawn} ()
+\end{CompactItemize}
+\subsection*{Protected Member Functions}
+\begin{CompactItemize}
+\item 
+void {\bf Reset} ()
+\item 
+void {\bf Reset\-Data\-Ptr} ()
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+int {\bf f\-Event\-Count}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Equippment\-ID}
+\item 
+Double\_\-t {\bf f\-Tmp\-Channel\-Data} [ALTRO\_\-MAX\_\-SAMPLES]
+\item 
+Double\_\-t {\bf f\-Max\-Values} [N\_\-MODULES][N\_\-ROWS\_\-MOD][N\_\-COLUMNS\_\-MOD][N\_\-GAINS]
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf fgk\-Input\-Data\-Types} [$\,$] = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf fgk\-Output\-Data\-Type} = {\bf k\-Ali\-HLTVoid\-Data\-Type}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!AliHLTPHOSModuleMergerComponent@{AliHLTPHOSModuleMergerComponent}}
+\index{AliHLTPHOSModuleMergerComponent@{AliHLTPHOSModuleMergerComponent}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSModule\-Merger\-Component::Ali\-HLTPHOSModule\-Merger\-Component ()}\label{classAliHLTPHOSModuleMergerComponent_a0}
+
+
+
+
+Definition at line 31 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}31                                                                  :AliHLTProcessor(),  fEventCount(0),  fEquippmentID(0)
+32 {
+33 
+34 } 
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!~AliHLTPHOSModuleMergerComponent@{$\sim$AliHLTPHOSModuleMergerComponent}}
+\index{~AliHLTPHOSModuleMergerComponent@{$\sim$AliHLTPHOSModuleMergerComponent}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSModule\-Merger\-Component::$\sim${\bf Ali\-HLTPHOSModule\-Merger\-Component} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a1}
+
+
+
+
+Definition at line 37 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}38 {
+39 
+40 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!AliHLTPHOSModuleMergerComponent@{AliHLTPHOSModuleMergerComponent}}
+\index{AliHLTPHOSModuleMergerComponent@{AliHLTPHOSModuleMergerComponent}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSModule\-Merger\-Component::Ali\-HLTPHOSModule\-Merger\-Component (const {\bf Ali\-HLTPHOSModule\-Merger\-Component} \&)}\label{classAliHLTPHOSModuleMergerComponent_a2}
+
+
+
+
+Definition at line 43 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}43                                                                                                           : AliHLTProcessor(),  fEventCount(0),  fEquippmentID(0)
+44 {
+45 
+46 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!Deinit@{Deinit}}
+\index{Deinit@{Deinit}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSModule\-Merger\-Component::Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a5}
+
+
+Clean-up function to terminate data processing. Clean-up of common data structures after data processing. The call is redirected to the internal method {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a6})} which can be overridden by the child class. 
+
+Reimplemented from {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_a3})}.
+
+Definition at line 50 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}51 {
+52   return 0;
+53 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!DoDeinit@{DoDeinit}}
+\index{DoDeinit@{DoDeinit}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSModule\-Merger\-Component::Do\-Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a6}
+
+
+Default method for the internal clean-up. The method is called by {\bf Deinit}{\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a5})} 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_b6})}.
+
+Definition at line 57 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+References k\-HLTLog\-Info, and Ali\-HLTLogging::Logging().
+
+\footnotesize\begin{verbatim}58 {
+59   Logging(kHLTLogInfo, "HLT", "PHOS", ",AliHLTPHOSModuleMerger DoDeinit");
+60   return 0;
+61 
+62 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!DoEvent@{DoEvent}}
+\index{DoEvent@{DoEvent}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a7}
+
+
+The low-level data processing method for the component. This is the custom processing method and can be overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em blocks}]input data block descriptors \item[{\em trig\-Data}]trigger data structure \item[{\em output\-Ptr}]pointer to target buffer \item[{\em size}]{\em input\/}: size of target buffer {\em output\/}:size of produced data \item[{\em output\-Blocks}]list to receive output block descriptors \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Reimplemented from {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_d0})}.
+
+Definition at line 102 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+References Dump\-Data(), Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Cnt, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Energy, f\-Event\-Count, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Gain, f\-Max\-Values, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Module\-ID, Ali\-HLTComponent\-Block\-Data::f\-Ptr, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Rcu\-X, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Rcu\-Z, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Valid\-Data, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-X, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Z, N\_\-COLUMNS\_\-RCU, N\_\-ROWS\_\-RCU, N\_\-XCOLUMNS\_\-RCU, N\_\-ZROWS\_\-RCU, and Reset().
+
+\footnotesize\begin{verbatim}105 {
+106   //Merging of data from 4 RCUS to one module
+107   
+108   unsigned long ndx;
+109   const AliHLTComponentBlockData* iter = NULL;   
+110   AliHLTPHOSRcuCellEnergyDataStruct *cellDataPtr;
+111 
+112   Reset();
+113 
+114   for( ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
+115     {
+116       int tmpModuleID = 0;
+117       int tmpRcuX = 0;
+118       int tmpRcuZ = 0;
+119       int tmpCnt =  cellDataPtr->fCnt;
+120       iter = blocks+ndx;
+121       AliHLTPHOSRcuCellEnergyDataStruct *cellDataPtr = (AliHLTPHOSRcuCellEnergyDataStruct*)( iter->fPtr);
+122       tmpModuleID = cellDataPtr->fModuleID;
+123       tmpRcuX     = cellDataPtr->fRcuX ;
+124       tmpRcuZ     = cellDataPtr->fRcuZ;
+125 
+126       for(int i= 0; i< tmpCnt; tmpCnt ++)
+127         {
+128           if(cellDataPtr->fValidData[i].fGain == HIGH_GAIN)
+129             {
+130               fMaxValues[tmpModuleID][ cellDataPtr->fValidData[i].fZ +  N_ZROWS_RCU*tmpRcuZ][ cellDataPtr->fValidData[i].fX + N_XCOLUMNS_RCU*tmpRcuX][HIGH_GAIN] =  cellDataPtr->fValidData[i].fEnergy;
+131             }
+132           else if(cellDataPtr->fValidData[i].fGain == LOW_GAIN)
+133             {
+134               fMaxValues[tmpModuleID][ cellDataPtr->fValidData[i].fZ +  N_ROWS_RCU*tmpRcuZ][ cellDataPtr->fValidData[i].fX +N_COLUMNS_RCU*tmpRcuX][LOW_GAIN] =  cellDataPtr->fValidData[i].fEnergy;
+135             }
+136         }
+137       
+138     }
+139 
+140   DumpData(1);
+141   fEventCount++; 
+142   return 0;
+143   
+144 }//end DoEvent
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!DoInit@{DoInit}}
+\index{DoInit@{DoInit}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSModule\-Merger\-Component::Do\-Init (int {\em argc} = {\tt 0}, const char $\ast$$\ast$ {\em argv} = {\tt 0})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a4}
+
+
+Default method for the internal initialization. The method is called by {\bf Init}{\rm (p.\,\pageref{classAliHLTProcessor_a2})} 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_b5})}.
+
+Definition at line 148 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+References Reset().
+
+\footnotesize\begin{verbatim}149 {
+150   //See base classs for documenation
+151   Reset();
+152 
+153   if (argc==0 && argv==NULL) {
+154     // this is currently just to get rid of the warning "unused parameter"
+155   }
+156   return 0;
+157 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!DumpData@{DumpData}}
+\index{DumpData@{DumpData}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSModule\-Merger\-Component::Dump\-Data (int {\em gain} = {\tt 0})}\label{classAliHLTPHOSModuleMergerComponent_a8}
+
+
+
+
+Definition at line 161 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+References f\-Max\-Values, and N\_\-GAINS.
+
+Referenced by Do\-Event().
+
+\footnotesize\begin{verbatim}162 {
+163   if(gain < 0 || gain >  N_GAINS)
+164     {
+165       cout <<"AliHLTPHOSModuleMergerComponent::DumpDat: Error, gain must be between " << 0 << "and" << N_GAINS << endl;
+166     }
+167   
+168   for(int mod = 0; mod < N_MODULES; mod ++)
+169     {
+170       if(gain == HIGH_GAIN)
+171         {
+172           cout << endl <<" ***********  MODULE" << mod << "****HIGH_GAIN" <<"************" << endl;
+173         }
+174       else if(gain == LOW_GAIN)
+175         {
+176           cout << endl <<" ***********  MODULE" << mod << "****LOW_GAIN" <<"************" << endl;
+177         }
+178       
+179       for(int row = 0; row < N_ROWS_MOD; row ++)
+180         {
+181           for(int col = 0; col < N_COLUMNS_MOD; col ++)
+182             {
+183                       if( fMaxValues[mod][row][col][0] != 0)
+184                 { 
+185                                   cout << fMaxValues[mod][row][col][0] << "\t";
+186                 }
+187             }
+188         } 
+189     }
+190 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!GetComponentID@{GetComponentID}}
+\index{GetComponentID@{GetComponentID}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTPHOSModule\-Merger\-Component::Get\-Component\-ID ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a10}
+
+
+Get the id of the component. Each component is identified by a unique id. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]component id (string) \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a9})}.
+
+Definition at line 66 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}67 {
+68   return "ModuleMerger";
+69 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!GetEquippmentId@{GetEquippmentId}}
+\index{GetEquippmentId@{GetEquippmentId}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSModule\-Merger\-Component::Get\-Equippment\-Id ()}\label{classAliHLTPHOSModuleMergerComponent_a9}
+
+
+
+
+Definition at line 235 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}236 {
+237   return  fEquippmentID;
+238 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!GetInputDataTypes@{GetInputDataTypes}}
+\index{GetInputDataTypes@{GetInputDataTypes}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSModule\-Merger\-Component::Get\-Input\-Data\-Types (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a11}
+
+
+
+
+Definition at line 73 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID.
+
+\footnotesize\begin{verbatim}74 {
+76   const AliHLTComponentDataType* pType=fgkInputDataTypes;
+77   while (pType->fID!=0) 
+78     {
+79       list.push_back(*pType);
+80       pType++;
+81     }
+82 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!GetOutputDataSize@{GetOutputDataSize}}
+\index{GetOutputDataSize@{GetOutputDataSize}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSModule\-Merger\-Component::Get\-Output\-Data\-Size (unsigned long \& {\em const\-Base}, double \& {\em input\-Multiplier})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a13}
+
+
+Get a ratio by how much the data volume is shrinked or enhanced. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em const\-Base}]{\em return\/}: additive part, independent of the input data volume \item[{\em input\-Multiplier}]{\em return\/}: multiplication ratio \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]values in the reference variables \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a12})}.
+
+Definition at line 94 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}95 {
+97   constBase = 30;
+98   inputMultiplier = 1;
+99 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!GetOutputDataType@{GetOutputDataType}}
+\index{GetOutputDataType@{GetOutputDataType}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} Ali\-HLTPHOSModule\-Merger\-Component::Get\-Output\-Data\-Type ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a12}
+
+
+Get the output data type of the component. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]output data type \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a11})}.
+
+Definition at line 86 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}87 {
+89   return AliHLTPHOSDefinitions::gkCellEnergyDataType;
+90 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSModule\-Merger\-Component}\& Ali\-HLTPHOSModule\-Merger\-Component::operator= (const {\bf Ali\-HLTPHOSModule\-Merger\-Component} \&)\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTPHOSModuleMergerComponent_a3}
+
+
+
+
+Definition at line 17 of file Ali\-HLTPHOSModule\-Merger\-Component.h.
+
+\footnotesize\begin{verbatim}18     {
+19       return *this;
+20    };
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!Reset@{Reset}}
+\index{Reset@{Reset}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSModule\-Merger\-Component::Reset ()\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTPHOSModuleMergerComponent_b0}
+
+
+
+
+Definition at line 195 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+References f\-Max\-Values, and f\-Tmp\-Channel\-Data.
+
+Referenced by Do\-Event(), and Do\-Init().
+
+\footnotesize\begin{verbatim}196 {
+197   for(int mod = 0; mod < N_MODULES; mod ++)
+198     {
+199       for(int row = 0; row <  N_ROWS_MOD; row ++)
+200         {
+201           for(int col = 0; col < N_COLUMNS_MOD; col ++)
+202             {
+203               for(int gain = 0; gain < N_GAINS; gain ++ )
+204                 { 
+205 
+206                   fMaxValues[mod][row][col][gain] = 0;
+207                 }
+208             }
+209         }
+210     }
+211 
+212   for(int i = 0 ; i<  ALTRO_MAX_SAMPLES; i++)
+213     {
+214       fTmpChannelData[i] = 0;
+215     }
+216 } // end Reset
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!ResetDataPtr@{ResetDataPtr}}
+\index{ResetDataPtr@{ResetDataPtr}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSModule\-Merger\-Component::Reset\-Data\-Ptr ()\hspace{0.3cm}{\tt  [protected]}}\label{classAliHLTPHOSModuleMergerComponent_b1}
+
+
+
+
+Definition at line 219 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+References f\-Tmp\-Channel\-Data.
+
+\footnotesize\begin{verbatim}220 {
+221   for(int i = 0 ; i<  ALTRO_MAX_SAMPLES; i++)
+222     {
+223       fTmpChannelData[i] = 0;
+224     }
+225 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!SetEquippmentId@{SetEquippmentId}}
+\index{SetEquippmentId@{SetEquippmentId}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSModule\-Merger\-Component::Set\-Equippment\-Id (int {\em id} = {\tt 0})}\label{classAliHLTPHOSModuleMergerComponent_a14}
+
+
+
+
+Definition at line 229 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+References f\-Equippment\-ID.
+
+\footnotesize\begin{verbatim}230 {
+231   fEquippmentID = id;
+232 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!Spawn@{Spawn}}
+\index{Spawn@{Spawn}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent} $\ast$ Ali\-HLTPHOSModule\-Merger\-Component::Spawn ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSModuleMergerComponent_a15}
+
+
+Spawn function. Each component must implement a spawn function to create a new instance of the class. Basically the function must return {\em new {\bf my\_\-class\_\-name}\/}. \begin{Desc}
+\item[Returns:]new class instance \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a13})}.
+
+Definition at line 242 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.
+
+\footnotesize\begin{verbatim}243 {
+244   return new AliHLTPHOSModuleMergerComponent;
+245 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!fEquippmentID@{fEquippmentID}}
+\index{fEquippmentID@{fEquippmentID}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSModule\-Merger\-Component::f\-Equippment\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSModuleMergerComponent_r1}
+
+
+Eguippment ID as given by ALICE 
+
+Definition at line 46 of file Ali\-HLTPHOSModule\-Merger\-Component.h.
+
+Referenced by Set\-Equippment\-Id().\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!fEventCount@{fEventCount}}
+\index{fEventCount@{fEventCount}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSModule\-Merger\-Component::f\-Event\-Count}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSModuleMergerComponent_r0}
+
+
+event counter 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_r2})}.
+
+Definition at line 45 of file Ali\-HLTPHOSModule\-Merger\-Component.h.
+
+Referenced by Do\-Event().\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!fgkInputDataTypes@{fgkInputDataTypes}}
+\index{fgkInputDataTypes@{fgkInputDataTypes}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSModule\-Merger\-Component::fgk\-Input\-Data\-Types} = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSModuleMergerComponent_v0}
+
+
+The input datatypes the component can recieve (obsolete ?) 
+
+Definition at line 26 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!fgkOutputDataType@{fgkOutputDataType}}
+\index{fgkOutputDataType@{fgkOutputDataType}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSModule\-Merger\-Component::fgk\-Output\-Data\-Type} = {\bf k\-Ali\-HLTVoid\-Data\-Type}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSModuleMergerComponent_v1}
+
+
+The type of date the compnent writes to shared memory 
+
+Definition at line 27 of file Ali\-HLTPHOSModule\-Merger\-Component.cxx.\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!fMaxValues@{fMaxValues}}
+\index{fMaxValues@{fMaxValues}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSModule\-Merger\-Component::f\-Max\-Values}[N\_\-MODULES][N\_\-ROWS\_\-MOD][N\_\-COLUMNS\_\-MOD][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSModuleMergerComponent_r3}
+
+
+Tower/Crystal energies 
+
+Definition at line 48 of file Ali\-HLTPHOSModule\-Merger\-Component.h.
+
+Referenced by Do\-Event(), Dump\-Data(), and Reset().\index{AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}!fTmpChannelData@{fTmpChannelData}}
+\index{fTmpChannelData@{fTmpChannelData}!AliHLTPHOSModuleMergerComponent@{Ali\-HLTPHOSModule\-Merger\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSModule\-Merger\-Component::f\-Tmp\-Channel\-Data}[ALTRO\_\-MAX\_\-SAMPLES]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSModuleMergerComponent_r2}
+
+
+Array to tmporarily store samples from a single ALTRO 
+
+Definition at line 47 of file Ali\-HLTPHOSModule\-Merger\-Component.h.
+
+Referenced by Reset(), and Reset\-Data\-Ptr().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSModule\-Merger\-Component.h}\item 
+{\bf Ali\-HLTPHOSModule\-Merger\-Component.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSOnlineDisplay.tex b/HLT/PHOS/latex/classAliHLTPHOSOnlineDisplay.tex
new file mode 100644 (file)
index 0000000..9407f1b
--- /dev/null
@@ -0,0 +1,1488 @@
+\section{Ali\-HLTPHOSOnline\-Display Class Reference}
+\label{classAliHLTPHOSOnlineDisplay}\index{AliHLTPHOSOnlineDisplay@{AliHLTPHOSOnlineDisplay}}
+{\tt \#include $<$Ali\-HLTPHOSOnline\-Display.h$>$}
+
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf $\sim$Ali\-HLTPHOSOnline\-Display} ()
+\item 
+int {\bf Get\-Next\-Event} ()
+\item 
+int {\bf Get\-Next\-Event\-Raw} ()
+\item 
+int {\bf Get\-Histogram} ()
+\item 
+void {\bf Init\-Display} ()
+\item 
+void {\bf Update\-Display} ()
+\item 
+void {\bf Update\-Histograms} ()
+\item 
+void {\bf Update\-Channe\-Raw\-Data\-Display} ()
+\item 
+void {\bf Evaluate\-Average} ()
+\end{CompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Scan\-Arguments} (int argc, char $\ast$$\ast$argv)
+\item 
+{\bf Ali\-HLTPHOSOnline\-Display} $\ast$ {\bf Instance} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSOnline\-Display} ()
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Frame1} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-F1} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-F2} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-F3} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-F4} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-F5} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Sub\-F1} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Sub\-F2} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Sub\-F3} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Sub\-F4} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Sub\-F5} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Sub\-F6} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Sub\-F7} = 0
+\item 
+TGComposite\-Frame $\ast$ {\bf f\-Sub\-F8} = 0
+\item 
+TGTab $\ast$ {\bf f\-Tab} = 0
+\item 
+TGTab $\ast$ {\bf f\-Sub\-Tab1} = 0
+\item 
+TGTab $\ast$ {\bf f\-Sub\-Tab2} = 0
+\item 
+TGTab $\ast$ {\bf f\-Sub\-Tab3} = 0
+\item 
+TGTab $\ast$ {\bf f\-Sub\-Tab\-Module} [N\_\-MODULES]
+\item 
+TGTab $\ast$ {\bf f\-Sub\-Sub\-Tab\-Rcu} [N\_\-MODULES][N\_\-RCUS\_\-PER\_\-MODULE]
+\item 
+TH1D $\ast$ {\bf fg\-Channel\-Data\-Plot\-Ptr} [N\_\-ZROWS\_\-RCU][N\_\-XCOLUMNS\_\-RCU]
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Test} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec1} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec2} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec3} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec4} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec5} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec6} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec7} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec8} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec9} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec10} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec11} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec12} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec13} = 0
+\item 
+TRoot\-Embedded\-Canvas $\ast$ {\bf f\-Ec14} = 0
+\item 
+{\bf Ali\-HLTPHOSGet\-Event\-Button} $\ast$ {\bf fg\-Event\-Butt\-Ptr} = 0
+\item 
+{\bf Ali\-HLTPHOSOnline\-Display} $\ast$ {\bf fg\-Instance\-Ptr} = 0
+\item 
+TH2D $\ast$ {\bf fg\-Lego\-Plot\-LGPtr} = 0
+\item 
+TH2D $\ast$ {\bf fg\-Lego\-Plot\-HGPtr} = 0
+\item 
+TH2D $\ast$ {\bf fg\-Calib\-Hist\-Ptr} [N\_\-GAINS]
+\item 
+TH2I $\ast$ {\bf fg\-Hits\-Hist\-Ptr} [N\_\-GAINS]
+\item 
+TH2D $\ast$ {\bf fg\-Average\-Ptr} [N\_\-GAINS]
+\item 
+char $\ast$ {\bf fg\-Default\-Det} = \char`\"{}SOHP\char`\"{}
+\item 
+char $\ast$ {\bf fg\-Default\-Data\-Type} = \char`\"{}RENELLEC\char`\"{}
+\item 
+int {\bf fg\-Evnt\-Cnt} = 0
+\item 
+TCanvas $\ast$ {\bf fg\-Canvas\-HGPtr} = 0
+\item 
+TCanvas $\ast$ {\bf fg\-Canvas\-LGPtr} = 0
+\item 
+TCanvas $\ast$ {\bf fg\-Test\-Canvas\-Ptr} = 0
+\item 
+unsigned int {\bf fg\-NHosts} = 0
+\item 
+unsigned int {\bf fg\-NPorts} = 0
+\item 
+HOMERReader $\ast$ {\bf fg\-Homer\-Reader\-Ptr} = 0
+\item 
+HOMERReader $\ast$ {\bf fg\-Homer\-Readers\-Ptr} [MAX\_\-HOSTS]
+\item 
+HOMERReader $\ast$ {\bf fg\-Calib\-Readers\-Ptr} [MAX\_\-HOSTS]
+\item 
+HOMERReader $\ast$ {\bf fg\-Channel\-Raw\-Readers\-Ptr} [MAX\_\-HOSTS]
+\item 
+char $\ast$ {\bf fg\-Hosts} [MAX\_\-HOSTS]
+\item 
+short unsigned $\ast$ {\bf fg\-Ports} = 0
+\item 
+Bool\_\-t {\bf fg\-Accumulate} = k\-FALSE
+\item 
+Bool\_\-t {\bf fg\-Syncronize} = k\-FALSE
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!~AliHLTPHOSOnlineDisplay@{$\sim$AliHLTPHOSOnlineDisplay}}
+\index{~AliHLTPHOSOnlineDisplay@{$\sim$AliHLTPHOSOnlineDisplay}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSOnline\-Display::$\sim${\bf Ali\-HLTPHOSOnline\-Display} ()}\label{classAliHLTPHOSOnlineDisplay_a0}
+
+
+
+
+Definition at line 143 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+\footnotesize\begin{verbatim}144 {
+145 
+146 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!AliHLTPHOSOnlineDisplay@{AliHLTPHOSOnlineDisplay}}
+\index{AliHLTPHOSOnlineDisplay@{AliHLTPHOSOnlineDisplay}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSOnline\-Display::Ali\-HLTPHOSOnline\-Display ()\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSOnlineDisplay_d0}
+
+
+
+
+Definition at line 122 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References fg\-Calib\-Readers\-Ptr, fg\-Channel\-Raw\-Readers\-Ptr, fg\-Homer\-Reader\-Ptr, fg\-Homer\-Readers\-Ptr, fg\-Hosts, fg\-Lego\-Plot\-HGPtr, fg\-Lego\-Plot\-LGPtr, fg\-NHosts, fg\-Ports, and Init\-Display().
+
+Referenced by Instance().
+
+\footnotesize\begin{verbatim}123 {
+124   char **tmp;
+125   cout << "creating new PHOS Onlinedisplay" << endl;
+126   fgLegoPlotLGPtr  = 0;
+127   fgLegoPlotHGPtr  = 0;
+128 
+129   fgHomerReaderPtr = new  HOMERReader(fgNHosts, (const char**)fgHosts,  fgPorts);
+130 
+131   for(int i = 0; i <fgNHosts; i++)
+132     {
+133       fgHomerReadersPtr[i] =      new  HOMERReader(fgHosts[i], fgPorts[i]); 
+134       fgCalibReadersPtr[i] =      new  HOMERReader(fgHosts[i], fgPorts[i]);
+135       fgChannelRawReadersPtr[i] = new  HOMERReader(fgHosts[i], fgPorts[i]);
+136     }
+137  
+138  InitDisplay();
+139 
+140 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!EvaluateAverage@{EvaluateAverage}}
+\index{EvaluateAverage@{EvaluateAverage}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSOnline\-Display::Evaluate\-Average ()}\label{classAliHLTPHOSOnlineDisplay_a8}
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!GetHistogram@{GetHistogram}}
+\index{GetHistogram@{GetHistogram}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSOnline\-Display::Get\-Histogram ()}\label{classAliHLTPHOSOnlineDisplay_a3}
+
+
+
+
+Definition at line 600 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References Ali\-HLTUInt16\_\-t, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Accumulated\-Energies, fg\-Average\-Ptr, fg\-Calib\-Hist\-Ptr, fg\-Calib\-Readers\-Ptr, fg\-Evnt\-Cnt, fg\-Hits\-Hist\-Ptr, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Hits, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Module\-ID, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-X, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-Z, N\_\-XCOLUMNS\_\-MOD, N\_\-XCOLUMNS\_\-RCU, N\_\-ZROWS\_\-RCU, and Update\-Histograms().
+
+Referenced by Ali\-HLTPHOSGet\-Event\-Button::Handle\-Button().
+
+\footnotesize\begin{verbatim}601 {
+602   fgCalibHistPtr[LOW_GAIN]->Reset(); 
+603   fgCalibHistPtr[HIGH_GAIN]->Reset();
+604  
+605   int ret = 0;
+606   unsigned long ndx;
+607   const AliHLTComponentBlockData* iter = NULL;   
+608   Bool_t nextSwitch=kTRUE; 
+609 
+610   for(int reader = 0; reader <  fgNHosts; reader ++)
+611     {
+612       ret =fgCalibReadersPtr[reader]->ReadNextEvent(); ;  
+613       if( ret ) 
+614         {
+615           int ndx = fgCalibReadersPtr[reader]->GetErrorConnectionNdx();
+616           printf( "------------ TRY AGAIN --------------->Error reading event from source %d: %s (%d)\n", ndx, strerror(ret), ret );
+617           cout << "HOMER getconncetioNdx  status = " << ndx << endl;
+618           return ret; 
+619         }
+620       
+621       unsigned long blockCnt = fgCalibReadersPtr[reader]->GetBlockCnt();
+622       cout << "AliHLTPHOSOnlineDisplay::GetHistogram():  blockCnt  = " << blockCnt << endl;
+623 
+624       for ( unsigned long i = 0; i < blockCnt; i++ ) 
+625         {
+626           char tmp1[9], tmp2[5];
+627           memset( tmp1, 0, 9 );
+628           memset( tmp2, 0, 5);
+629           void *tmp11 = tmp1;
+630           ULong64_t* tmp12 = (ULong64_t*)tmp11;
+631           *tmp12 =fgCalibReadersPtr[reader]->GetBlockDataType( i );
+632           void *tmp21 = tmp2;
+633           ULong_t* tmp22 = (ULong_t*)tmp21;
+634           *tmp22 = fgCalibReadersPtr[reader]->GetBlockDataOrigin( i );
+635           cout << "Dataype is: "<< tmp1<<"   "<<tmp2 <<endl;
+636         }
+637       
+638       unsigned long blk = fgCalibReadersPtr[reader]->FindBlockNdx("UCCARENE","SOHP", 0xFFFFFFFF );
+639       //      int tmpWhileCnt = 0;
+640   
+641 
+642 
+643       while ( blk != ~(unsigned long)0 ) 
+644         {
+645           cout << "GetHistogram: updating block " << endl;
+646           AliHLTUInt16_t moduleID;
+647           const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct* accCellEnergiesPtr = (const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct*)fgCalibReadersPtr[reader]->GetBlockData( blk ); 
+648           moduleID = accCellEnergiesPtr->fModuleID ;
+649           //      int RcuXOffset = (accCellEnergiesPtr->fRcuX)*N_XCOLUMNS_RCU;
+650           //      int RcuZOffset = (accCellEnergiesPtr->fRcuZ)*N_ZROWS_RCU;
+651           cout << "(X,Z) =" << "("<< (int)accCellEnergiesPtr->fRcuX <<" , " <<  (int)accCellEnergiesPtr->fRcuZ << ") " << endl;
+652           
+653           int tmpx;
+654           int tmpz;
+655 
+656           for(int x = 0; x < N_XCOLUMNS_RCU; x ++)
+657             for(int z = 0; z <N_ZROWS_RCU; z ++)
+658               {
+659                 {
+660                   for(int gain = 0; gain < N_GAINS; gain ++)
+661                     {
+662                       tmpx = moduleID*N_XCOLUMNS_MOD + (accCellEnergiesPtr->fRcuX)*N_XCOLUMNS_RCU + x;
+663                       tmpz = (accCellEnergiesPtr->fRcuZ)*N_ZROWS_RCU +z;
+664 
+665                       fgCalibHistPtr[gain]->Fill(tmpx, tmpz, accCellEnergiesPtr->fAccumulatedEnergies[x][z][gain] );
+666                       fgHitsHistPtr[gain]->Fill(tmpx, tmpz, accCellEnergiesPtr->fHits[x][z][gain] );
+667                       
+668                       if(fgHitsHistPtr[gain]->GetBinContent(tmpx, tmpz) > 0)
+669                         {
+670                           fgAveragePtr[gain]->SetBinContent(tmpx, tmpz, fgCalibHistPtr[gain]->GetBinContent(tmpx, tmpz)/fgHitsHistPtr[gain]->GetBinContent(tmpx, tmpz));
+671                         }
+672                     }
+673                 }
+674               }
+675 
+676           blk = fgCalibReadersPtr[reader]->FindBlockNdx("UCCARENE","SOHP", 0xFFFFFFFF, blk+1);
+677           //      tmpWhileCnt ++;
+678         } 
+679     }
+680   
+681   UpdateHistograms();
+682   fgEvntCnt ++;
+683 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!GetNextEvent@{GetNextEvent}}
+\index{GetNextEvent@{GetNextEvent}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event ()}\label{classAliHLTPHOSOnlineDisplay_a1}
+
+
+
+
+Definition at line 410 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Cnt, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Energy, fg\-Accumulate, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Gain, fg\-Evnt\-Cnt, fg\-Homer\-Reader\-Ptr, fg\-Homer\-Readers\-Ptr, fg\-Lego\-Plot\-HGPtr, fg\-Lego\-Plot\-LGPtr, fg\-Syncronize, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Module\-ID, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Rcu\-X, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Rcu\-Z, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Valid\-Data, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-X, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Z, N\_\-XCOLUMNS\_\-MOD, N\_\-XCOLUMNS\_\-RCU, N\_\-ZROWS\_\-RCU, and Update\-Display().
+
+Referenced by Ali\-HLTPHOSGet\-Event\-Button::Handle\-Button().
+
+\footnotesize\begin{verbatim}411 {
+412   HOMERReader* CurrentReaderPtr;
+413 
+414   if(fgAccumulate == kFALSE)
+415     {
+416       cout <<"resetting fgLegoplot" << endl;
+417       if(fgLegoPlotHGPtr !=0)
+418         {
+419           fgLegoPlotHGPtr->Reset(); 
+420         }
+421 
+422       if(fgLegoPlotLGPtr !=0)
+423         {
+424           fgLegoPlotLGPtr->Reset();
+425         }  
+426     }
+427 
+428   int ret = 0;
+429   unsigned long ndx;
+430   const AliHLTComponentBlockData* iter = NULL;   
+431   Bool_t nextSwitch=kTRUE; 
+432   cout << "homerreader connectionstatus  =" <<fgHomerReaderPtr->GetConnectionStatus() << endl;;
+433 
+434   int nLoops=0;
+435   if(fgSyncronize == kTRUE)
+436     {
+437       nLoops = 1;
+438     }
+439   else
+440     {
+441       nLoops =  fgNHosts; 
+442     }
+443   
+444   for(int reader = 0; reader <  nLoops; reader ++)
+445     {
+446       if(fgSyncronize == kTRUE)
+447         {
+448           CurrentReaderPtr =fgHomerReaderPtr;
+449         }
+450       else
+451         {
+452           CurrentReaderPtr =fgHomerReadersPtr[reader];
+453         }
+454       ret =CurrentReaderPtr->ReadNextEvent();  
+455       cout << "Event ID =\t " << reader <<" = "<< CurrentReaderPtr->GetEventID() << endl;;
+456   
+457       if( ret ) 
+458         {
+459           int ndx = fgHomerReaderPtr->GetErrorConnectionNdx();
+460           printf( "------------ TRY AGAIN --------------->Error reading event from source %d: %s (%d)\n", ndx, strerror(ret), ret );
+461           cout << "HOMER getconncetioNdx  status = " << ndx << endl;
+462           return ret; 
+463         }
+464   
+465       unsigned long blockCnt = CurrentReaderPtr->GetBlockCnt();
+466       
+467       for ( unsigned long i = 0; i < blockCnt; i++ ) 
+468         {
+469           char tmp1[9], tmp2[5];
+470           memset( tmp1, 0, 9 );
+471           memset( tmp2, 0, 5);
+472           void *tmp11 = tmp1;
+473           ULong64_t* tmp12 = (ULong64_t*)tmp11;
+474           *tmp12 =fgHomerReadersPtr[reader]->GetBlockDataType( i );
+475           void *tmp21 = tmp2;
+476           ULong_t* tmp22 = (ULong_t*)tmp21;
+477           *tmp22 = CurrentReaderPtr->GetBlockDataOrigin( i );
+478           cout << "Dataype for block:  "<< i<<"  is:  "<< tmp1<<tmp2 <<endl;
+479         }
+480 
+481       unsigned long blk = CurrentReaderPtr->FindBlockNdx("RENELLEC","SOHP", 0xFFFFFFFF );
+482 
+483       while ( blk != ~(unsigned long)0 ) 
+484         {
+485           Int_t moduleID;
+486           const AliHLTPHOSRcuCellEnergyDataStruct* cellEnergiesPtr = (const AliHLTPHOSRcuCellEnergyDataStruct*) CurrentReaderPtr->GetBlockData( blk );  
+487           moduleID = cellEnergiesPtr->fModuleID ;
+488           Int_t tmpCount = cellEnergiesPtr->fCnt;
+489           Int_t tmpZ;
+490           Int_t tmpX;
+491           Int_t tmpGain;
+492           
+493           //      for(int i= 0; i<tmpCount; i++)
+494           for(int i= 0; i <= tmpCount; i++)
+495             {
+496               tmpZ = cellEnergiesPtr->fValidData[i].fZ;
+497               tmpX = cellEnergiesPtr->fValidData[i].fX;
+498               tmpGain =  cellEnergiesPtr->fValidData[i].fGain;
+499               
+500               if(tmpGain == HIGH_GAIN)
+501                 {
+502                   fgLegoPlotHGPtr->Fill(moduleID*N_XCOLUMNS_MOD + tmpX +  N_XCOLUMNS_RCU*cellEnergiesPtr->fRcuX,  
+503                                       tmpZ + N_ZROWS_RCU*cellEnergiesPtr->fRcuZ, cellEnergiesPtr->fValidData[i].fEnergy);
+504                 }
+505                   
+506               else if(tmpGain == LOW_GAIN)
+507                 {
+508                   fgLegoPlotLGPtr->Fill(moduleID*N_XCOLUMNS_MOD + tmpX +  N_XCOLUMNS_RCU*cellEnergiesPtr->fRcuX,
+509                                       tmpZ + N_ZROWS_RCU*cellEnergiesPtr->fRcuZ,    cellEnergiesPtr->fValidData[i].fEnergy);
+510                 }
+511             }
+512                 
+513           blk = CurrentReaderPtr->FindBlockNdx("RENELLEC","SOHP", 0xFFFFFFFF, blk+1);
+514         }
+515     }
+516   UpdateDisplay();
+517   fgEvntCnt ++;
+518 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!GetNextEventRaw@{GetNextEventRaw}}
+\index{GetNextEventRaw@{GetNextEventRaw}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw ()}\label{classAliHLTPHOSOnlineDisplay_a2}
+
+
+
+
+Definition at line 521 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References Ali\-HLTUInt16\_\-t, Ali\-HLTUInt32\_\-t, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Channel\-Data, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Gain, fg\-Channel\-Data\-Plot\-Ptr, fg\-Channel\-Raw\-Readers\-Ptr, fg\-Evnt\-Cnt, Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Module\-ID, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-NSamples, Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-NValid\-Channels, Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Valid\-Data, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-X, Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Z, and Update\-Channe\-Raw\-Data\-Display().
+
+\footnotesize\begin{verbatim}522 {
+523   cout << "AliHLTPHOSOnlineDisplay::GetNextEventRaw():updating RawdataDisplay" << endl;
+524   int ret = 0;
+525   unsigned long ndx;
+526   const AliHLTComponentBlockData* iter = NULL;
+527   for(int reader = 0; reader <  fgNHosts; reader ++)
+528     {
+529       ret = fgChannelRawReadersPtr[reader]->ReadNextEvent();  
+530       if( ret ) 
+531         {
+532           int ndx = fgChannelRawReadersPtr[reader]->GetErrorConnectionNdx();
+533           printf( "------------ TRY AGAIN --------------->Error reading event from source %d: %s (%d)\n", ndx, strerror(ret), ret );
+534           cout << "HOMER getconncetioNdx  status = " << ndx << endl;
+535           return ret; 
+536         }
+537       
+538       unsigned long blockCnt = fgChannelRawReadersPtr[reader]->GetBlockCnt();
+539       cout << "AliHLTPHOSOnlineDisplay::NextEventRaw():  blockCnt  = " << blockCnt << endl;
+540 
+541       for ( unsigned long i = 0; i < blockCnt; i++ ) 
+542         {
+543           char tmp1[9], tmp2[5];
+544           memset( tmp1, 0, 9 );
+545           memset( tmp2, 0, 5);
+546           void *tmp11 = tmp1;
+547           ULong64_t* tmp12 = (ULong64_t*)tmp11;
+548           *tmp12 =fgChannelRawReadersPtr[reader]->GetBlockDataType( i );
+549           void *tmp21 = tmp2;
+550           ULong_t* tmp22 = (ULong_t*)tmp21;
+551           *tmp22 = fgChannelRawReadersPtr[reader]->GetBlockDataOrigin( i );
+552           cout << "Dataype is: "<< tmp1<<"   "<<tmp2 <<endl;
+553         }
+554       
+555       unsigned long blk = fgChannelRawReadersPtr[reader]->FindBlockNdx("ATADNAHC","SOHP", 0xeFFFFFFF );
+556 
+557       while ( blk != ~(unsigned long)0 ) 
+558         {
+559           cout << ":GetNextEventRaw(): updating block " << endl;
+560           AliHLTUInt16_t moduleID;
+561           const AliHLTPHOSRcuChannelDataStruct* rcuChannelDataPtr = (const AliHLTPHOSRcuChannelDataStruct*)fgChannelRawReadersPtr[reader]->GetBlockData( blk ); 
+562           moduleID = rcuChannelDataPtr->fModuleID ;
+563           int tmpx;
+564           int tmpz;
+565           AliHLTUInt32_t tmpChCnt =0;
+566           AliHLTUInt16_t tmpSampleCnt =0;
+567 
+568           tmpChCnt = rcuChannelDataPtr->fNValidChannels;
+569           cout << "tmpChCnt = " << tmpChCnt << endl; 
+570 
+571           for( AliHLTUInt32_t ch =0; ch < tmpChCnt; ch ++)
+572             {
+573               {
+574                 tmpz =  rcuChannelDataPtr->fValidData[ch].fZ;
+575                 tmpx =  rcuChannelDataPtr->fValidData[ch].fX;   
+576                 tmpSampleCnt =  rcuChannelDataPtr->fValidData[ch].fNSamples;
+577 
+578                 for(AliHLTUInt16_t sample =0; sample <tmpSampleCnt; sample ++)
+579                   {
+580                     if(  rcuChannelDataPtr->fValidData[ch].fGain  == 0)
+581                       {
+582                         fgChannelDataPlotPtr[tmpz][tmpx]->SetBinContent(sample,  rcuChannelDataPtr->fValidData[ch].fChannelData[sample]);
+583                       }
+584                   }
+585               }
+586             }
+587 
+588           blk = fgChannelRawReadersPtr[reader]->FindBlockNdx("ATADNAHC","SOHP", 0xeFFFFFFF, blk+1);
+589 
+590         } 
+591     }
+592   
+593   UpdateChanneRawDataDisplay();
+594   fgEvntCnt ++;
+595 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!InitDisplay@{InitDisplay}}
+\index{InitDisplay@{InitDisplay}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSOnline\-Display::Init\-Display ()}\label{classAliHLTPHOSOnlineDisplay_a4}
+
+
+
+
+Definition at line 149 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References f\-Ec1, f\-Ec10, f\-Ec11, f\-Ec12, f\-Ec13, f\-Ec14, f\-Ec2, f\-Ec3, f\-Ec4, f\-Ec5, f\-Ec6, f\-Ec7, f\-Ec8, f\-Ec9, fg\-Average\-Ptr, fg\-Calib\-Hist\-Ptr, fg\-Channel\-Data\-Plot\-Ptr, fg\-Event\-Butt\-Ptr, fg\-Hits\-Hist\-Ptr, fg\-Lego\-Plot\-HGPtr, fg\-Lego\-Plot\-LGPtr, f\-Sub\-F1, f\-Sub\-F2, f\-Sub\-F3, f\-Sub\-F4, f\-Sub\-F5, f\-Sub\-F6, f\-Sub\-F7, f\-Sub\-Tab1, f\-Sub\-Tab2, f\-Sub\-Tab3, f\-Tab, MAX\_\-BIN\_\-VALUE, N\_\-MODULES, N\_\-XCOLUMNS\_\-MOD, and N\_\-ZROWS\_\-MOD.
+
+Referenced by Ali\-HLTPHOSOnline\-Display().
+
+\footnotesize\begin{verbatim}150 {
+151   char tmpHistoName[256];
+152 
+153   fgLegoPlotHGPtr = new TH2D("Homer","HLT: #pi^{0} 5 - 30Gev HG, High gain",  
+154                              N_XCOLUMNS_MOD*N_MODULES , 0, N_XCOLUMNS_MOD*N_MODULES,  
+155                              N_ZROWS_MOD,               0, N_ZROWS_MOD);
+156   fgLegoPlotHGPtr->SetMaximum( MAX_BIN_VALUE);
+157   fgLegoPlotHGPtr->Reset();
+158 
+159   fgLegoPlotLGPtr = new TH2D("Homer","HLT: #pi^{0} 5 - 30Gev LG, Low gain",  
+160                              N_XCOLUMNS_MOD* N_MODULES , 0, N_XCOLUMNS_MOD* N_MODULES,  
+161                              N_ZROWS_MOD,          0, N_ZROWS_MOD);
+162   fgLegoPlotLGPtr->SetMaximum( MAX_BIN_VALUE); 
+163   fgLegoPlotLGPtr->Reset();
+164 
+165   for(int gain = 0; gain< N_GAINS; gain ++)
+166     {
+167       sprintf(tmpHistoName, "HLT gain %d", gain);
+168       fgCalibHistPtr[gain] = new TH2D(tmpHistoName, tmpHistoName,  
+169                                       N_XCOLUMNS_MOD*N_MODULES , 0, N_XCOLUMNS_MOD*N_MODULES , 
+170                                       N_ZROWS_MOD,         0, N_ZROWS_MOD);
+171       fgCalibHistPtr[gain]->Reset(); 
+172      
+173       sprintf(tmpHistoName, "Calibration Data HLT: #pi^{0} 5 - 30GeV gain %d", gain);
+174       fgHitsHistPtr[gain] = new TH2I(tmpHistoName, tmpHistoName,  
+175                                     N_XCOLUMNS_MOD* N_MODULES , 0, N_XCOLUMNS_MOD*N_MODULES,  
+176                                     N_ZROWS_MOD,          0, N_ZROWS_MOD);
+177       fgHitsHistPtr[gain]->SetMaximum( MAX_BIN_VALUE); 
+178       fgHitsHistPtr[gain]->Reset();
+179 
+180       sprintf(tmpHistoName, "Average Data HLT: #pi^{0} 5 - 30GeV gain %d", gain);
+181       fgAveragePtr[gain] = new TH2D(tmpHistoName,tmpHistoName,  
+182                                     N_XCOLUMNS_MOD* N_MODULES , 0, N_XCOLUMNS_MOD*N_MODULES,  
+183                                     N_ZROWS_MOD,          0, N_ZROWS_MOD);
+184       fgAveragePtr[gain]->SetMaximum( MAX_BIN_VALUE); 
+185       fgAveragePtr[gain]->Reset();
+186     }
+187 
+188   char tmpChDtaName[256];
+189 
+190   for(int z = 0; z < N_ZROWS_RCU; z ++)
+191     {
+192       for(int x = 0; x < N_XCOLUMNS_RCU; x ++)
+193         {
+194           sprintf(tmpHistoName, "blablaz%d x%d",z, x);
+195           fgChannelDataPlotPtr[z][x] = new TH1D(tmpHistoName, tmpHistoName, 300, 0, 299);
+196           fgChannelDataPlotPtr[z][x]->SetMaximum(MAX_BIN_VALUE); 
+197           fgChannelDataPlotPtr[z][x]->Reset();
+198         }
+199     }
+200 
+201   gStyle->SetPalette(1);
+202   fTab = new TGTab(this, 100, 100);
+203   TGLayoutHints *fL1 = new TGLayoutHints(kLHintsBottom | kLHintsExpandX |
+204                                          kLHintsExpandY, 2, 2, 15, 1);
+205 
+206   TGCompositeFrame *tf = fTab->AddTab("Event display");
+207            fSubTab1 = new TGTab(tf, 100, 100);
+208            TGCompositeFrame *tf2 = fSubTab1->AddTab("LEGO");  
+209            fSubF1 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
+210            fEc1 = new TRootEmbeddedCanvas("ec1", fSubF1, 100, 100);
+211            fSubF1->AddFrame(fEc1, fL1);
+212            fEc2 = new TRootEmbeddedCanvas("ec2", fSubF1, 100, 100);
+213            fSubF1->AddFrame(fEc2, fL1);
+214            tf2->AddFrame(fSubF1, fL1);
+215 
+216            tf2 = fSubTab1->AddTab("SCAT"); 
+217            fSubF2 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
+218            tf2->AddFrame(fSubF2, fL1);
+219            fEc3 = new TRootEmbeddedCanvas("ec3", fSubF2, 100, 100);
+220            fSubF2->AddFrame(fEc3, fL1);
+221            fEc4 = new TRootEmbeddedCanvas("ec4", fSubF2, 100, 100);
+222            fSubF2->AddFrame(fEc4, fL1);
+223 
+224            tf2 = fSubTab1->AddTab("SURF"); 
+225            fSubF3 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
+226            tf2->AddFrame(fSubF3, fL1);
+227            fEc5 = new TRootEmbeddedCanvas("ec5", fSubF3, 100, 100);
+228            fSubF3->AddFrame(fEc5, fL1);
+229            fEc6 = new TRootEmbeddedCanvas("ec6", fSubF3, 100, 100);
+230            fSubF3->AddFrame(fEc6, fL1);
+231            fSubTab1->Resize();
+232            tf->AddFrame(fSubTab1, fL1);
+233 
+234   tf = fTab->AddTab("Calibration data");
+235      
+236            fSubTab2 = new TGTab(tf, 100, 100);
+237 
+238            tf2 = fSubTab2->AddTab("Accumulated energy");   
+239            fSubF4 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
+240 
+241            fEc7 = new TRootEmbeddedCanvas("ec7", fSubF4, 100, 100);
+242            fSubF4->AddFrame(fEc7, fL1);
+243 
+244            fEc8 = new TRootEmbeddedCanvas("ec8", fSubF4, 100, 100);
+245            fSubF4->AddFrame(fEc8, fL1);
+246 
+247            tf2->AddFrame(fSubF4, fL1);
+248            
+249            tf2 = fSubTab2->AddTab("SCAT (hits)"); 
+250            fSubF5 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
+251            tf2->AddFrame(fSubF5, fL1);
+252            fEc9 = new TRootEmbeddedCanvas("ec9", fSubF5, 100, 100);
+253            fSubF5->AddFrame(fEc9, fL1);
+254            fEc10 = new TRootEmbeddedCanvas("ec10", fSubF5, 100, 100);
+255            fSubF5->AddFrame(fEc10, fL1);
+256 
+257            tf2 = fSubTab2->AddTab("SURF"); 
+258            fSubF6 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
+259            tf2->AddFrame(fSubF6, fL1);
+260            fEc11 = new TRootEmbeddedCanvas("ec11", fSubF6, 100, 100);
+261            fSubF6->AddFrame(fEc11, fL1);
+262            fEc12 = new TRootEmbeddedCanvas("ec12", fSubF6, 100, 100);
+263            fSubF6->AddFrame(fEc12, fL1);
+264 
+265            tf2 = fSubTab2->AddTab("acummulated energy / hits"); 
+266            fSubF7 = new TGCompositeFrame(tf2, 60, 20, kVerticalFrame);
+267            tf2->AddFrame(fSubF7, fL1);
+268            fEc13 = new TRootEmbeddedCanvas("ec13", fSubF7, 100, 100);
+269            fSubF7->AddFrame(fEc13, fL1);
+270            fEc14 = new TRootEmbeddedCanvas("ec14", fSubF7, 100, 100);
+271            fSubF7->AddFrame(fEc14, fL1);
+272 
+273            fSubTab2->Resize();
+274            tf->AddFrame(fSubTab2, fL1);
+275 
+276 
+277   tf = fTab->AddTab("Raw Data Display");
+278 
+279            fSubTab3 = new TGTab(tf, 100, 100);
+280            TGLayoutHints *hints = new TGLayoutHints(kLHintsNormal, 0, 0, 0, 0); 
+281 
+282            char tmpTabName[256];
+283            char tmpCanvasName[256];
+284                    sprintf(tmpTabName, "Raw data");
+285                    tf2 = fSubTab3->AddTab(tmpTabName);
+286                    fgEventButtPtr = new  AliHLTPHOSGetEventButton(tf, "Get Rawdata2xxxxx", 'r');
+287                    AliHLTPHOSGetEventButton*       EventButtPtr2 = new  AliHLTPHOSGetEventButton(tf, "Get Rawdata", 'r'); 
+288                    EventButtPtr2->Move(200, 200); 
+289 
+290   tf = fTab->AddTab("Tab 4");
+291 
+292   AddFrame(fTab, fL1);
+293 
+294   fgEventButtPtr = new  AliHLTPHOSGetEventButton(fSubF1, "get event", 'e');
+295   fgEventButtPtr = new  AliHLTPHOSGetEventButton(fSubF4, "update histograms", 'h');
+296 
+297   MapSubwindows();
+298   Resize();
+299   SetWindowName("online display");
+300   MapWindow();
+301   MoveResize(100,100,1200,1000);
+302 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!Instance@{Instance}}
+\index{Instance@{Instance}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSOnline\-Display} $\ast$ Ali\-HLTPHOSOnline\-Display::Instance ()\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSOnlineDisplay_e1}
+
+
+
+
+Definition at line 116 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References Ali\-HLTPHOSOnline\-Display(), and fg\-Instance\-Ptr.
+
+Referenced by main().
+
+\footnotesize\begin{verbatim}117 {
+118   if (!fgInstancePtr) fgInstancePtr = new AliHLTPHOSOnlineDisplay();
+119   return fgInstancePtr;
+120 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!ScanArguments@{ScanArguments}}
+\index{ScanArguments@{ScanArguments}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSOnline\-Display::Scan\-Arguments (int {\em argc}, char $\ast$$\ast$ {\em argv})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTPHOSOnlineDisplay_e0}
+
+
+
+
+Definition at line 306 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References fg\-Accumulate, fg\-Hosts, fg\-NHosts, fg\-NPorts, fg\-Ports, and fg\-Syncronize.
+
+Referenced by main().
+
+\footnotesize\begin{verbatim}307 {
+308   for(int i=0; i< MAX_HOSTS; i++)
+309     {
+310       fgHosts[i] = new char[256];
+311     }
+312 
+313   fgPorts = new short unsigned[100];
+314 
+315   Bool_t hostIsSet = kFALSE;
+316   Bool_t portIsSet = kFALSE;
+317   int iResult=0;
+318   TString argument="";
+319 
+320   for (int i=0; i<argc && iResult>=0; i++) 
+321     {
+322       argument=argv[i];
+323       
+324       if (argument.IsNull()) 
+325         {
+326           continue;
+327         }
+328       
+329       if (argument.CompareTo("-sync")==0)
+330         {
+331           cout << "setting Synchronize to true" << endl;
+332           fgSyncronize = kTRUE;
+333         }  
+334 
+335       
+336       if (argument.CompareTo("-acc")==0)
+337         {
+338           cout << "setting Accumulate to true" << endl;
+339           fgAccumulate = kTRUE;
+340         }  
+341       
+342  
+343       if (argument.CompareTo("-host")==0) 
+344         {
+345           if(i+1 <= argc)
+346             {
+347               i++;
+348               sprintf(fgHosts[fgNHosts],"%s", argv[i]);
+349               fgNHosts ++; 
+350               hostIsSet = kTRUE; 
+351               if(i+1 <= argc)
+352                 {
+353                   argument=argv[i+1];
+354                   if(argument.CompareTo("-port")==0)
+355                   {
+356                     i++;
+357                     if(i+1 <= argc)
+358                       {
+359                         i++;
+360                         fgPorts[fgNPorts] = atoi(argv[i]);      
+361                         cout << "A setting port to   " << fgPorts[fgNPorts]  <<endl; 
+362                         fgNPorts ++;
+363                         portIsSet = kTRUE;
+364                       }
+365                   }
+366                   
+367                   else
+368                     {
+369                       fgPorts[fgNPorts] =  DEFAULT_EVENT_PORT;  
+370                       cout << "B setting port to   " << fgPorts[fgNPorts]  <<endl; 
+371                       fgNPorts ++;
+372                       portIsSet = kTRUE;
+373                     }
+374                 }
+375 
+376             }
+377 
+378         }
+379     }
+380 
+381   if(hostIsSet != kTRUE ||  portIsSet != kTRUE)
+382     {
+383       if(hostIsSet == kFALSE)
+384         {
+385           printf("\nERROR: no hostname is specified\n");
+386         }
+387       
+388       if( portIsSet == kFALSE)
+389         {
+390           printf("ERROR: no port spcified\n");
+391         }
+392       printf("\nYou must specify at least one host \n\n");
+393       printf("*****************************************************************\n");
+394       printf("\nUsage: ./onlinedisplay  -host  <hostname>   -port  <port>");
+395       printf("\n-port is optional, if not set  port 42001 will be used\n");
+396       printf("*****************************************************************\n\n\n");
+397       iResult = -1;
+398     }
+399   
+400   else
+401     {
+402       iResult = 0;
+403     }
+404 
+405   return iResult;
+406 }//end ScanArguments
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!UpdateChanneRawDataDisplay@{UpdateChanneRawDataDisplay}}
+\index{UpdateChanneRawDataDisplay@{UpdateChanneRawDataDisplay}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSOnline\-Display::Update\-Channe\-Raw\-Data\-Display ()}\label{classAliHLTPHOSOnlineDisplay_a7}
+
+
+
+
+Definition at line 765 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References fg\-Channel\-Data\-Plot\-Ptr, fg\-Test\-Canvas\-Ptr, N\_\-XCOLUMNS\_\-RCU, and N\_\-ZROWS\_\-RCU.
+
+Referenced by Get\-Next\-Event\-Raw().
+
+\footnotesize\begin{verbatim}766 {
+767   fgTestCanvasPtr = new TCanvas("TEST", "testcanvas", 1200, 1000);  
+768   //  fgTestCanvasPtr->Divide(N_ZROWS_RCU, N_XCOLUMNS_RCU, 0, 0);
+769   fgTestCanvasPtr->Divide(N_XCOLUMNS_RCU, N_ZROWS_RCU, 0, 0);
+770 
+771   for(int z = 0; z < N_ZROWS_RCU; z ++)
+772     {
+773       for(int x = 0; x < N_XCOLUMNS_RCU; x ++)
+774         {
+775           //      fgTestCanvasPtr->cd(x*N_ZROWS_RCU +z + 1);
+776           fgTestCanvasPtr->cd(z*N_XCOLUMNS_RCU +x + 1);
+777 
+778           fgChannelDataPlotPtr[z][x]->Draw();
+779         } 
+780     }
+781 
+782   fgTestCanvasPtr->Update();
+783 
+784 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!UpdateDisplay@{UpdateDisplay}}
+\index{UpdateDisplay@{UpdateDisplay}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSOnline\-Display::Update\-Display ()}\label{classAliHLTPHOSOnlineDisplay_a5}
+
+
+
+
+Definition at line 687 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References f\-Ec1, f\-Ec2, f\-Ec3, f\-Ec4, f\-Ec5, f\-Ec6, fg\-Canvas\-HGPtr, fg\-Canvas\-LGPtr, fg\-Lego\-Plot\-HGPtr, and fg\-Lego\-Plot\-LGPtr.
+
+Referenced by Get\-Next\-Event().
+
+\footnotesize\begin{verbatim}688 {
+689   fgCanvasHGPtr =  fEc1->GetCanvas();
+690   fgCanvasHGPtr->cd();
+691   fgLegoPlotHGPtr->Draw("LEGO2Z");
+692   fgCanvasHGPtr->Update();
+693   fgCanvasLGPtr = fEc2->GetCanvas();
+694   fgCanvasLGPtr->cd();
+695   fgLegoPlotLGPtr->Draw("LEGO2Z");
+696   fgCanvasLGPtr->Update();
+697 
+698   fgCanvasHGPtr =  fEc3->GetCanvas();
+699   fgCanvasHGPtr->cd();
+700   fgLegoPlotHGPtr->Draw("SCAT");
+701   fgCanvasHGPtr->Update();
+702   fgCanvasLGPtr = fEc4->GetCanvas();
+703   fgCanvasLGPtr->cd();
+704   fgLegoPlotLGPtr->Draw("SCAT");
+705   fgCanvasLGPtr->Update();
+706 
+707   fgCanvasHGPtr =  fEc5->GetCanvas();
+708   fgCanvasHGPtr->cd();
+709   fgLegoPlotHGPtr->Draw("CONTZ");
+710   fgCanvasHGPtr->Update();
+711   fgCanvasLGPtr = fEc6->GetCanvas();
+712   fgCanvasLGPtr->cd();
+713   fgLegoPlotLGPtr->Draw("CONTZ");
+714   fgCanvasLGPtr->Update();
+715 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!UpdateHistograms@{UpdateHistograms}}
+\index{UpdateHistograms@{UpdateHistograms}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSOnline\-Display::Update\-Histograms ()}\label{classAliHLTPHOSOnlineDisplay_a6}
+
+
+
+
+Definition at line 718 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+References f\-Ec10, f\-Ec11, f\-Ec12, f\-Ec13, f\-Ec14, f\-Ec7, f\-Ec8, f\-Ec9, fg\-Average\-Ptr, fg\-Calib\-Hist\-Ptr, fg\-Canvas\-HGPtr, fg\-Canvas\-LGPtr, and fg\-Hits\-Hist\-Ptr.
+
+Referenced by Get\-Histogram().
+
+\footnotesize\begin{verbatim}719 {
+720   fgCanvasHGPtr =  fEc7->GetCanvas();
+721   fgCanvasHGPtr->cd();
+722   fgCalibHistPtr[HIGH_GAIN]->Draw("LEGO2Z");
+723   fgCanvasHGPtr->Update();
+724 
+725   fgCanvasLGPtr = fEc8->GetCanvas();
+726   fgCanvasLGPtr->cd();
+727   fgCalibHistPtr[LOW_GAIN]->Draw("LEGO2Z");
+728   fgCanvasLGPtr->Update();
+729 
+730   fgCanvasHGPtr =  fEc9->GetCanvas();
+731   fgCanvasHGPtr->cd();
+732   fgHitsHistPtr[HIGH_GAIN]->Draw("SCAT");
+733   fgCanvasHGPtr->Update();
+734 
+735   fgCanvasLGPtr = fEc10->GetCanvas();
+736   fgCanvasLGPtr->cd();
+737   fgHitsHistPtr[LOW_GAIN]->Draw("SCAT");
+738   fgCanvasLGPtr->Update();
+739 
+740   fgCanvasHGPtr =  fEc11->GetCanvas();
+741   fgCanvasHGPtr->cd();
+742   fgCalibHistPtr[HIGH_GAIN]->Draw("COLZ");
+743   fgCanvasHGPtr->Update();
+744 
+745   fgCanvasLGPtr = fEc12->GetCanvas();
+746   fgCanvasLGPtr->cd();
+747   fgCalibHistPtr[LOW_GAIN]->Draw("COLZ");
+748   fgCanvasLGPtr->Update();
+749 
+750 
+751   fgCanvasLGPtr = fEc13->GetCanvas();
+752   fgCanvasLGPtr->cd();
+753   fgAveragePtr[HIGH_GAIN]->Draw("COLZ");
+754   fgCanvasLGPtr->Update();
+755 
+756   fgCanvasHGPtr = fEc14->GetCanvas();
+757   fgCanvasHGPtr->cd();
+758   fgAveragePtr[LOW_GAIN]->Draw("COLZ");
+759   fgCanvasHGPtr->Update();
+760 
+761 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc1@{fEc1}}
+\index{fEc1@{fEc1}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec1} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v22}
+
+
+
+
+Definition at line 98 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc10@{fEc10}}
+\index{fEc10@{fEc10}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec10} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v31}
+
+
+
+
+Definition at line 107 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc11@{fEc11}}
+\index{fEc11@{fEc11}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec11} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v32}
+
+
+
+
+Definition at line 108 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc12@{fEc12}}
+\index{fEc12@{fEc12}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec12} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v33}
+
+
+
+
+Definition at line 109 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc13@{fEc13}}
+\index{fEc13@{fEc13}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec13} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v34}
+
+
+
+
+Definition at line 110 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc14@{fEc14}}
+\index{fEc14@{fEc14}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec14} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v35}
+
+
+
+
+Definition at line 111 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc2@{fEc2}}
+\index{fEc2@{fEc2}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec2} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v23}
+
+
+
+
+Definition at line 99 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc3@{fEc3}}
+\index{fEc3@{fEc3}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec3} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v24}
+
+
+
+
+Definition at line 100 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc4@{fEc4}}
+\index{fEc4@{fEc4}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec4} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v25}
+
+
+
+
+Definition at line 101 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc5@{fEc5}}
+\index{fEc5@{fEc5}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec5} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v26}
+
+
+
+
+Definition at line 102 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc6@{fEc6}}
+\index{fEc6@{fEc6}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec6} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v27}
+
+
+
+
+Definition at line 103 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc7@{fEc7}}
+\index{fEc7@{fEc7}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec7} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v28}
+
+
+
+
+Definition at line 104 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc8@{fEc8}}
+\index{fEc8@{fEc8}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec8} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v29}
+
+
+
+
+Definition at line 105 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fEc9@{fEc9}}
+\index{fEc9@{fEc9}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Ec9} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v30}
+
+
+
+
+Definition at line 106 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fF1@{fF1}}
+\index{fF1@{fF1}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-F1} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v1}
+
+
+
+
+Definition at line 72 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fF2@{fF2}}
+\index{fF2@{fF2}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-F2} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v2}
+
+
+
+
+Definition at line 73 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fF3@{fF3}}
+\index{fF3@{fF3}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-F3} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v3}
+
+
+
+
+Definition at line 74 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fF4@{fF4}}
+\index{fF4@{fF4}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-F4} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v4}
+
+
+
+
+Definition at line 75 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fF5@{fF5}}
+\index{fF5@{fF5}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-F5} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v5}
+
+
+
+
+Definition at line 76 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fFrame1@{fFrame1}}
+\index{fFrame1@{fFrame1}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Frame1} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v0}
+
+
+
+
+Definition at line 71 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgAccumulate@{fgAccumulate}}
+\index{fgAccumulate@{fgAccumulate}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Bool\_\-t {\bf Ali\-HLTPHOSOnline\-Display::fg\-Accumulate} = k\-FALSE\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v57}
+
+
+If set to k\-FALSE reset fg\-Legoplot between event, k\-TRUE adds current energies to previous plot 
+
+Definition at line 63 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Get\-Next\-Event(), and Scan\-Arguments().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgAveragePtr@{fgAveragePtr}}
+\index{fgAveragePtr@{fgAveragePtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TH2D $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Average\-Ptr}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v42}
+
+
+Accumuated energy/hits 
+
+Definition at line 56 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Get\-Histogram(), Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgCalibHistPtr@{fgCalibHistPtr}}
+\index{fgCalibHistPtr@{fgCalibHistPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TH2D $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Calib\-Hist\-Ptr}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v40}
+
+
+2D histogram for low gain channels 
+
+Definition at line 54 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Get\-Histogram(), Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgCalibReadersPtr@{fgCalibReadersPtr}}
+\index{fgCalibReadersPtr@{fgCalibReadersPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}HOMERReader $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Calib\-Readers\-Ptr}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v53}
+
+
+Homer reader that fetches histograms from the HLT online stream 
+
+Definition at line 50 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), and Get\-Histogram().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgCanvasHGPtr@{fgCanvasHGPtr}}
+\index{fgCanvasHGPtr@{fgCanvasHGPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TCanvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Canvas\-HGPtr} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v46}
+
+
+Canvas to plot fg\-Legoplot for High gain channels 
+
+Definition at line 60 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Update\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgCanvasLGPtr@{fgCanvasLGPtr}}
+\index{fgCanvasLGPtr@{fgCanvasLGPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TCanvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Canvas\-LGPtr} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v47}
+
+
+Canvas to plot fg\-Legoplot for Low gain channels 
+
+Definition at line 61 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Update\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgChannelDataPlotPtr@{fgChannelDataPlotPtr}}
+\index{fgChannelDataPlotPtr@{fgChannelDataPlotPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TH1D $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Channel\-Data\-Plot\-Ptr}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v20}
+
+
+
+
+Definition at line 94 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Get\-Next\-Event\-Raw(), Init\-Display(), and Update\-Channe\-Raw\-Data\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgChannelRawReadersPtr@{fgChannelRawReadersPtr}}
+\index{fgChannelRawReadersPtr@{fgChannelRawReadersPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}HOMERReader $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Channel\-Raw\-Readers\-Ptr}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v54}
+
+
+
+
+Definition at line 51 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), and Get\-Next\-Event\-Raw().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgDefaultDataType@{fgDefaultDataType}}
+\index{fgDefaultDataType@{fgDefaultDataType}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Default\-Data\-Type} = \char`\"{}RENELLEC\char`\"{}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v44}
+
+
+CELLENER (Celle energy) written backwards 
+
+Definition at line 58 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgDefaultDet@{fgDefaultDet}}
+\index{fgDefaultDet@{fgDefaultDet}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Default\-Det} = \char`\"{}SOHP\char`\"{}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v43}
+
+
+PHOS written backwards 
+
+Definition at line 57 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgEventButtPtr@{fgEventButtPtr}}
+\index{fgEventButtPtr@{fgEventButtPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSGet\-Event\-Button} $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Event\-Butt\-Ptr} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v36}
+
+
+Button to get a new event from the HLT online stream 
+
+Definition at line 46 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgEvntCnt@{fgEvntCnt}}
+\index{fgEvntCnt@{fgEvntCnt}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSOnline\-Display::fg\-Evnt\-Cnt} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v45}
+
+
+Event Counter 
+
+Definition at line 59 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Get\-Histogram(), Get\-Next\-Event(), and Get\-Next\-Event\-Raw().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgHitsHistPtr@{fgHitsHistPtr}}
+\index{fgHitsHistPtr@{fgHitsHistPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TH2I $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Hits\-Hist\-Ptr}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v41}
+
+
+2D histogram for low gain channels 
+
+Definition at line 55 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Get\-Histogram(), Init\-Display(), and Update\-Histograms().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgHomerReaderPtr@{fgHomerReaderPtr}}
+\index{fgHomerReaderPtr@{fgHomerReaderPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}HOMERReader $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Homer\-Reader\-Ptr} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v51}
+
+
+Homer reader that fetches events from the HLT online stream 
+
+Definition at line 48 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), and Get\-Next\-Event().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgHomerReadersPtr@{fgHomerReadersPtr}}
+\index{fgHomerReadersPtr@{fgHomerReadersPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}HOMERReader $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Homer\-Readers\-Ptr}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v52}
+
+
+Homer reader that fetches events from the HLT online stream 
+
+Definition at line 49 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), and Get\-Next\-Event().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgHosts@{fgHosts}}
+\index{fgHosts@{fgHosts}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Hosts}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v55}
+
+
+
+
+Definition at line 67 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), and Scan\-Arguments().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgInstancePtr@{fgInstancePtr}}
+\index{fgInstancePtr@{fgInstancePtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSOnline\-Display} $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Instance\-Ptr} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v37}
+
+
+The one an only instance of Phos\-Online\-Display 
+
+Definition at line 47 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Instance().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgLegoPlotHGPtr@{fgLegoPlotHGPtr}}
+\index{fgLegoPlotHGPtr@{fgLegoPlotHGPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TH2D $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Lego\-Plot\-HGPtr} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v39}
+
+
+2D histogram for high gain channels 
+
+Definition at line 53 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), Get\-Next\-Event(), Init\-Display(), and Update\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgLegoPlotLGPtr@{fgLegoPlotLGPtr}}
+\index{fgLegoPlotLGPtr@{fgLegoPlotLGPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TH2D $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Lego\-Plot\-LGPtr} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v38}
+
+
+2D histogram for low gain channels 
+
+Definition at line 52 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), Get\-Next\-Event(), Init\-Display(), and Update\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgNHosts@{fgNHosts}}
+\index{fgNHosts@{fgNHosts}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf Ali\-HLTPHOSOnline\-Display::fg\-NHosts} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v49}
+
+
+
+
+Definition at line 65 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), and Scan\-Arguments().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgNPorts@{fgNPorts}}
+\index{fgNPorts@{fgNPorts}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf Ali\-HLTPHOSOnline\-Display::fg\-NPorts} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v50}
+
+
+
+
+Definition at line 66 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Scan\-Arguments().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgPorts@{fgPorts}}
+\index{fgPorts@{fgPorts}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}short unsigned int $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Ports} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v56}
+
+
+
+
+Definition at line 68 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Ali\-HLTPHOSOnline\-Display(), and Scan\-Arguments().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgSyncronize@{fgSyncronize}}
+\index{fgSyncronize@{fgSyncronize}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Bool\_\-t {\bf Ali\-HLTPHOSOnline\-Display::fg\-Syncronize} = k\-FALSE\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v58}
+
+
+
+
+Definition at line 64 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Get\-Next\-Event(), and Scan\-Arguments().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fgTestCanvasPtr@{fgTestCanvasPtr}}
+\index{fgTestCanvasPtr@{fgTestCanvasPtr}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TCanvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::fg\-Test\-Canvas\-Ptr} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v48}
+
+
+
+
+Definition at line 62 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Update\-Channe\-Raw\-Data\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubF1@{fSubF1}}
+\index{fSubF1@{fSubF1}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-F1} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v6}
+
+
+
+
+Definition at line 77 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubF2@{fSubF2}}
+\index{fSubF2@{fSubF2}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-F2} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v7}
+
+
+
+
+Definition at line 78 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubF3@{fSubF3}}
+\index{fSubF3@{fSubF3}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-F3} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v8}
+
+
+
+
+Definition at line 79 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubF4@{fSubF4}}
+\index{fSubF4@{fSubF4}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-F4} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v9}
+
+
+
+
+Definition at line 80 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubF5@{fSubF5}}
+\index{fSubF5@{fSubF5}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-F5} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v10}
+
+
+
+
+Definition at line 81 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubF6@{fSubF6}}
+\index{fSubF6@{fSubF6}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-F6} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v11}
+
+
+
+
+Definition at line 82 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubF7@{fSubF7}}
+\index{fSubF7@{fSubF7}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-F7} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v12}
+
+
+
+
+Definition at line 83 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubF8@{fSubF8}}
+\index{fSubF8@{fSubF8}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGComposite\-Frame $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-F8} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v13}
+
+
+
+
+Definition at line 84 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubSubTabRcu@{fSubSubTabRcu}}
+\index{fSubSubTabRcu@{fSubSubTabRcu}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGTab $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-Sub\-Tab\-Rcu}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v19}
+
+
+
+
+Definition at line 92 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubTab1@{fSubTab1}}
+\index{fSubTab1@{fSubTab1}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGTab $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-Tab1} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v15}
+
+
+
+
+Definition at line 87 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubTab2@{fSubTab2}}
+\index{fSubTab2@{fSubTab2}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGTab $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-Tab2} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v16}
+
+
+
+
+Definition at line 88 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubTab3@{fSubTab3}}
+\index{fSubTab3@{fSubTab3}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGTab $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-Tab3} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v17}
+
+
+
+
+Definition at line 89 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fSubTabModule@{fSubTabModule}}
+\index{fSubTabModule@{fSubTabModule}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGTab $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Sub\-Tab\-Module}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v18}
+
+
+
+
+Definition at line 91 of file Ali\-HLTPHOSOnline\-Display.cxx.\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fTab@{fTab}}
+\index{fTab@{fTab}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TGTab $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Tab} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v14}
+
+
+
+
+Definition at line 86 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+Referenced by Init\-Display().\index{AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}!fTest@{fTest}}
+\index{fTest@{fTest}!AliHLTPHOSOnlineDisplay@{Ali\-HLTPHOSOnline\-Display}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TRoot\-Embedded\-Canvas $\ast$ {\bf Ali\-HLTPHOSOnline\-Display::f\-Test} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSOnlineDisplay_v21}
+
+
+
+
+Definition at line 96 of file Ali\-HLTPHOSOnline\-Display.cxx.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+Online\-Display/{\bf Ali\-HLTPHOSOnline\-Display.h}\item 
+Online\-Display/{\bf Ali\-HLTPHOSOnline\-Display.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducer.tex b/HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducer.tex
new file mode 100644 (file)
index 0000000..78f036a
--- /dev/null
@@ -0,0 +1,577 @@
+\section{Ali\-HLTPHOSRcu\-Histogram\-Producer Class Reference}
+\label{classAliHLTPHOSRcuHistogramProducer}\index{AliHLTPHOSRcuHistogramProducer@{AliHLTPHOSRcuHistogramProducer}}
+{\tt \#include $<$Ali\-HLTPHOSRcu\-Histogram\-Producer.h$>$}
+
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} ()
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} ({\bf Ali\-HLTUInt8\_\-t} module\-ID, {\bf Ali\-HLTUInt8\_\-t} rcu\-X, {\bf Ali\-HLTUInt8\_\-t} rcu\-Z)
+\item 
+virtual {\bf $\sim$Ali\-HLTPHOSRcu\-Histogram\-Producer} ()
+\item 
+int {\bf Get\-Equippment\-Id} ()
+\item 
+const {\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct} \& {\bf Get\-Cell\-Accumulated\-Energies} ()
+\item 
+int {\bf Increment\-Event\-Counter} ()
+\item 
+void {\bf Init} ()
+\item 
+void {\bf Set\-Equippment\-Id} (int id)
+\item 
+void {\bf Set\-Rcu\-X} ({\bf Ali\-HLTUInt8\_\-t} X)
+\item 
+void {\bf Set\-Rcu\-Z} ({\bf Ali\-HLTUInt8\_\-t} Z)
+\item 
+void {\bf Set\-Module\-ID} ({\bf Ali\-HLTUInt8\_\-t} module\-ID)
+\item 
+void {\bf Fill\-Energy} ({\bf Ali\-HLTUInt8\_\-t} x, {\bf Ali\-HLTUInt8\_\-t} z, {\bf Ali\-HLTUInt8\_\-t} gain, float energy)
+\item 
+void {\bf Fill\-Time} ({\bf Ali\-HLTUInt8\_\-t} x, {\bf Ali\-HLTUInt8\_\-t} z, {\bf Ali\-HLTUInt8\_\-t} gain, float time)
+\item 
+void {\bf Reset} ()
+\item 
+void {\bf Write\-Energy\-Histograms} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} (const {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} \&)
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} \& {\bf operator=} (const {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} \&)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+TH1F $\ast$ {\bf f\-Energy\-Histogram\-Ptrs} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\item 
+TH1F $\ast$ {\bf f\-Timing\-Histogram\-Ptrs} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\item 
+Float\_\-t {\bf f\-Energy\-Average\-Values} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\item 
+Double\_\-t {\bf f\-Accumulated\-Values} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\item 
+Float\_\-t {\bf f\-Timing\-Average\-Values} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Hits} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\item 
+int {\bf f\-Event\-Count}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Equippment\-ID}
+\item 
+Double\_\-t {\bf f\-Tmp\-Channel\-Data} [ALTRO\_\-MAX\_\-SAMPLES]
+\item 
+{\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct} {\bf f\-Cell\-Acc\-Energy}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-X}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-Z}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!AliHLTPHOSRcuHistogramProducer@{AliHLTPHOSRcuHistogramProducer}}
+\index{AliHLTPHOSRcuHistogramProducer@{AliHLTPHOSRcuHistogramProducer}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSRcu\-Histogram\-Producer::Ali\-HLTPHOSRcu\-Histogram\-Producer ()}\label{classAliHLTPHOSRcuHistogramProducer_a0}
+
+
+
+
+Definition at line 31 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+\footnotesize\begin{verbatim}31                                                                : fEventCount(0), fEquippmentID(0), fModuleID(0), fRcuX(0), fRcuZ(0)
+32 {
+33   cout << "WARNING: You cannot invoke the AliHLTPHOSRcuHistogramProducer without arguments" << endl;
+34   cout << "Usage AliHLTPHOSRcuHistogramProducer(ModuleID, X. Z)" << endl;
+35   //  Reset();
+36   //  Init();
+37 } 
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!AliHLTPHOSRcuHistogramProducer@{AliHLTPHOSRcuHistogramProducer}}
+\index{AliHLTPHOSRcuHistogramProducer@{AliHLTPHOSRcuHistogramProducer}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSRcu\-Histogram\-Producer::Ali\-HLTPHOSRcu\-Histogram\-Producer ({\bf Ali\-HLTUInt8\_\-t} {\em module\-ID}, {\bf Ali\-HLTUInt8\_\-t} {\em rcu\-X}, {\bf Ali\-HLTUInt8\_\-t} {\em rcu\-Z})}\label{classAliHLTPHOSRcuHistogramProducer_a1}
+
+
+
+
+Definition at line 39 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References Init(), Set\-Module\-ID(), Set\-Rcu\-X(), and Set\-Rcu\-Z().
+
+\footnotesize\begin{verbatim}40 {
+41   SetModuleID(moduleID);
+42   SetRcuX(rcuX); 
+43   SetRcuZ(rcuZ); 
+44   Init();
+45 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!~AliHLTPHOSRcuHistogramProducer@{$\sim$AliHLTPHOSRcuHistogramProducer}}
+\index{~AliHLTPHOSRcuHistogramProducer@{$\sim$AliHLTPHOSRcuHistogramProducer}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSRcu\-Histogram\-Producer::$\sim${\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducer_a2}
+
+
+
+
+Definition at line 47 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+\footnotesize\begin{verbatim}48 {
+49 
+50 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!AliHLTPHOSRcuHistogramProducer@{AliHLTPHOSRcuHistogramProducer}}
+\index{AliHLTPHOSRcuHistogramProducer@{AliHLTPHOSRcuHistogramProducer}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSRcu\-Histogram\-Producer::Ali\-HLTPHOSRcu\-Histogram\-Producer (const {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} \&)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_d0}
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!FillEnergy@{FillEnergy}}
+\index{FillEnergy@{FillEnergy}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Fill\-Energy ({\bf Ali\-HLTUInt8\_\-t} {\em x}, {\bf Ali\-HLTUInt8\_\-t} {\em z}, {\bf Ali\-HLTUInt8\_\-t} {\em gain}, float {\em energy})}\label{classAliHLTPHOSRcuHistogramProducer_a11}
+
+
+
+
+Definition at line 133 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Accumulated\-Energies, f\-Cell\-Acc\-Energy, f\-Energy\-Histogram\-Ptrs, and Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Hits.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event().
+
+\footnotesize\begin{verbatim}134 {
+135   fCellAccEnergy.fAccumulatedEnergies[x][z][gain] += energy;
+136   fCellAccEnergy.fHits[x][z][gain] ++; 
+137   fEnergyHistogramPtrs[x][z][gain]->Fill(energy);
+138 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!FillTime@{FillTime}}
+\index{FillTime@{FillTime}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Fill\-Time ({\bf Ali\-HLTUInt8\_\-t} {\em x}, {\bf Ali\-HLTUInt8\_\-t} {\em z}, {\bf Ali\-HLTUInt8\_\-t} {\em gain}, float {\em time})}\label{classAliHLTPHOSRcuHistogramProducer_a12}
+
+
+
+
+Definition at line 142 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References f\-Timing\-Histogram\-Ptrs.
+
+\footnotesize\begin{verbatim}143 {
+144   fTimingHistogramPtrs[x][z][gain]->Fill(time);
+145 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!GetCellAccumulatedEnergies@{GetCellAccumulatedEnergies}}
+\index{GetCellAccumulatedEnergies@{GetCellAccumulatedEnergies}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct} \& Ali\-HLTPHOSRcu\-Histogram\-Producer::Get\-Cell\-Accumulated\-Energies ()}\label{classAliHLTPHOSRcuHistogramProducer_a4}
+
+
+
+
+Definition at line 148 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event().
+
+\footnotesize\begin{verbatim}149 {
+150   //  return &fCellAccEnergy ;
+151   return fCellAccEnergy ;
+152 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!GetEquippmentId@{GetEquippmentId}}
+\index{GetEquippmentId@{GetEquippmentId}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSRcu\-Histogram\-Producer::Get\-Equippment\-Id ()}\label{classAliHLTPHOSRcuHistogramProducer_a3}
+
+
+
+
+Definition at line 96 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+\footnotesize\begin{verbatim}97 {
+98   return  fEquippmentID;
+99 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!IncrementEventCounter@{IncrementEventCounter}}
+\index{IncrementEventCounter@{IncrementEventCounter}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSRcu\-Histogram\-Producer::Increment\-Event\-Counter ()}\label{classAliHLTPHOSRcuHistogramProducer_a5}
+
+
+
+
+Definition at line 155 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References f\-Event\-Count.
+
+\footnotesize\begin{verbatim}156 {
+157    fEventCount ++;
+158    return  fEventCount;
+159 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!Init@{Init}}
+\index{Init@{Init}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Init ()}\label{classAliHLTPHOSRcuHistogramProducer_a6}
+
+
+
+
+Definition at line 54 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Accumulated\-Energies, f\-Accumulated\-Values, f\-Cell\-Acc\-Energy, f\-Energy\-Average\-Values, f\-Energy\-Histogram\-Ptrs, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Hits, f\-Hits, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Module\-ID, f\-Module\-ID, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-X, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-Z, f\-Timing\-Average\-Values, f\-Timing\-Histogram\-Ptrs, N\_\-BINS, N\_\-XCOLUMNS\_\-RCU, N\_\-ZROWS\_\-RCU, XBIN\_\-LOW, and XBIN\_\-UP.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer().
+
+\footnotesize\begin{verbatim}55 {
+56   char tmpHistoName[256];
+57   int geomx;
+58   int geomz;
+59     
+60 
+61   for(int x = 0; x < N_XCOLUMNS_RCU; x ++)
+62     {
+63       for(int z = 0; z < N_ZROWS_RCU; z ++)
+64         {
+65           for(int gain = 0; gain < N_GAINS; gain ++)
+66             {
+67               geomx = x + N_XCOLUMNS_RCU*fRcuX;
+68               geomz = z + N_ZROWS_RCU*fRcuZ;
+69 
+70               fEnergyAverageValues[x][z][gain] = 0; 
+71               fAccumulatedValues[x][z][gain]   = 0;
+72               fTimingAverageValues[x][z][gain] = 0; 
+73               fHits[x][z][gain]                = 0;
+74               sprintf(tmpHistoName, "Edistribution_%d_%d_%d_%d",(int)fModuleID,  geomx, geomz, gain);
+75               fEnergyHistogramPtrs[x][z][gain] = 0;
+76 
+77               fEnergyHistogramPtrs[x][z][gain] = new TH1F( tmpHistoName, tmpHistoName, N_BINS, XBIN_LOW, XBIN_UP);
+78 
+79               sprintf(tmpHistoName, "TOFdistribution_%d_%d_%d_%d",(int)fModuleID,  geomx, geomz, gain);
+80         
+81               fTimingHistogramPtrs[x][z][gain] = 0;
+82 
+83               fTimingHistogramPtrs[x][z][gain] = new TH1F(tmpHistoName , tmpHistoName, N_BINS, XBIN_LOW, XBIN_UP);
+84 
+85               fCellAccEnergy.fAccumulatedEnergies[x][z][gain] = 0;
+86               fCellAccEnergy.fHits[x][z][gain] = 0;
+87               fCellAccEnergy.fModuleID = 0;
+88               fCellAccEnergy.fRcuX = 0;
+89               fCellAccEnergy.fRcuZ = 0; 
+90             }
+91         } 
+92     } 
+93 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer}\& Ali\-HLTPHOSRcu\-Histogram\-Producer::operator= (const {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} \&)\hspace{0.3cm}{\tt  [inline, private]}}\label{classAliHLTPHOSRcuHistogramProducer_d1}
+
+
+
+
+Definition at line 42 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+\footnotesize\begin{verbatim}43    {
+44       return *this;
+45    };
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!Reset@{Reset}}
+\index{Reset@{Reset}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Reset ()}\label{classAliHLTPHOSRcuHistogramProducer_a13}
+
+
+
+
+Definition at line 163 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References f\-Accumulated\-Values, f\-Energy\-Average\-Values, f\-Hits, f\-Timing\-Average\-Values, and f\-Tmp\-Channel\-Data.
+
+\footnotesize\begin{verbatim}164 {
+165   for(int x = 0; x < N_XCOLUMNS_RCU; x ++)
+166     {
+167       for(int z = 0; z < N_ZROWS_RCU; z ++)
+168         {
+169           for(int gain = 0; gain < N_GAINS; gain ++)
+170             {
+171               fEnergyAverageValues[x][z][gain] = 0; 
+172               fAccumulatedValues[x][z][gain]   = 0;
+173               fTimingAverageValues[x][z][gain] = 0; 
+174               fHits[x][z][gain]                = 0;
+175             }
+176         } 
+177     }
+178   
+179   for(int i = 0; i <ALTRO_MAX_SAMPLES;  i++)
+180     {
+181       fTmpChannelData[i] = 0;
+182     }
+183 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!SetEquippmentId@{SetEquippmentId}}
+\index{SetEquippmentId@{SetEquippmentId}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Set\-Equippment\-Id (int {\em id})}\label{classAliHLTPHOSRcuHistogramProducer_a7}
+
+
+
+
+Definition at line 126 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References f\-Equippment\-ID.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Set\-Equippment\-Id().
+
+\footnotesize\begin{verbatim}127 {
+128   fEquippmentID = id;
+129 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!SetModuleID@{SetModuleID}}
+\index{SetModuleID@{SetModuleID}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Set\-Module\-ID ({\bf Ali\-HLTUInt8\_\-t} {\em module\-ID})}\label{classAliHLTPHOSRcuHistogramProducer_a10}
+
+
+
+
+Definition at line 119 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References f\-Module\-ID.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer().
+
+\footnotesize\begin{verbatim}120 {
+121  fModuleID = moduleID;
+122 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!SetRcuX@{SetRcuX}}
+\index{SetRcuX@{SetRcuX}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Set\-Rcu\-X ({\bf Ali\-HLTUInt8\_\-t} {\em X})}\label{classAliHLTPHOSRcuHistogramProducer_a8}
+
+
+
+
+Definition at line 103 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References f\-Cell\-Acc\-Energy, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-X, and f\-Rcu\-X.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer().
+
+\footnotesize\begin{verbatim}104 {
+105   fRcuX = X; 
+106   fCellAccEnergy.fRcuX = X;
+107 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!SetRcuZ@{SetRcuZ}}
+\index{SetRcuZ@{SetRcuZ}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Set\-Rcu\-Z ({\bf Ali\-HLTUInt8\_\-t} {\em Z})}\label{classAliHLTPHOSRcuHistogramProducer_a9}
+
+
+
+
+Definition at line 111 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References f\-Cell\-Acc\-Energy, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-Z, and f\-Rcu\-Z.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer().
+
+\footnotesize\begin{verbatim}112 {
+113   fRcuZ = Z; 
+114   fCellAccEnergy.fRcuZ = Z;
+115 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!WriteEnergyHistograms@{WriteEnergyHistograms}}
+\index{WriteEnergyHistograms@{WriteEnergyHistograms}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer::Write\-Energy\-Histograms ()}\label{classAliHLTPHOSRcuHistogramProducer_a14}
+
+
+
+
+Definition at line 186 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx.
+
+References f\-Energy\-Histogram\-Ptrs, f\-Module\-ID, f\-Rcu\-X, and f\-Rcu\-Z.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Deinit().
+
+\footnotesize\begin{verbatim}187 {
+188   char tmpFileName[256];
+189   sprintf(tmpFileName,"/home/aliphoshlt/rundir/outdata/calibHisto_%d_%d_%d.root", (int)fModuleID, (int)fRcuX, (int)fRcuZ);
+190   TFile *histoFile =  new TFile(tmpFileName,"update");
+191   char hname[128];
+192   if(!histoFile) return;
+193   if(!histoFile->IsOpen()) return;
+194 
+195   cout <<"printing histograms"<< endl;
+196   cout <<"histofile-Getname() =" << histoFile->GetName() << endl;
+197 
+198     for(int x = 0; x <  N_XCOLUMNS_RCU; x ++)
+199     {
+200       for(int z = 0; z < N_ZROWS_RCU; z ++)
+201         {
+202           for(int gain = 0; gain < N_GAINS; gain ++)
+203             {
+204               fEnergyHistogramPtrs[x][z][gain]->Write();
+205             }
+206         } 
+207     }
+208 
+209     cout << "printing histograms, finished"<< endl;
+210     histoFile->Close();
+211 
+212 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fAccumulatedValues@{fAccumulatedValues}}
+\index{fAccumulatedValues@{fAccumulatedValues}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Accumulated\-Values}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r3}
+
+
+
+
+Definition at line 51 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Init(), and Reset().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fCellAccEnergy@{fCellAccEnergy}}
+\index{fCellAccEnergy@{fCellAccEnergy}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Cell\-Acc\-Energy}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r9}
+
+
+
+
+Definition at line 58 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Fill\-Energy(), Init(), Set\-Rcu\-X(), and Set\-Rcu\-Z().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fEnergyAverageValues@{fEnergyAverageValues}}
+\index{fEnergyAverageValues@{fEnergyAverageValues}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Float\_\-t {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Energy\-Average\-Values}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r2}
+
+
+
+
+Definition at line 50 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Init(), and Reset().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fEnergyHistogramPtrs@{fEnergyHistogramPtrs}}
+\index{fEnergyHistogramPtrs@{fEnergyHistogramPtrs}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TH1F$\ast$ {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Energy\-Histogram\-Ptrs}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r0}
+
+
+
+
+Definition at line 47 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Fill\-Energy(), Init(), and Write\-Energy\-Histograms().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fEquippmentID@{fEquippmentID}}
+\index{fEquippmentID@{fEquippmentID}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Equippment\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r7}
+
+
+
+
+Definition at line 55 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Set\-Equippment\-Id().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fEventCount@{fEventCount}}
+\index{fEventCount@{fEventCount}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Event\-Count}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r6}
+
+
+
+
+Definition at line 54 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Increment\-Event\-Counter().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fHits@{fHits}}
+\index{fHits@{fHits}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Hits}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r5}
+
+
+
+
+Definition at line 53 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Init(), and Reset().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Module\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r10}
+
+
+
+
+Definition at line 60 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Init(), Set\-Module\-ID(), and Write\-Energy\-Histograms().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fRcuX@{fRcuX}}
+\index{fRcuX@{fRcuX}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Rcu\-X}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r11}
+
+
+
+
+Definition at line 61 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Set\-Rcu\-X(), and Write\-Energy\-Histograms().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fRcuZ@{fRcuZ}}
+\index{fRcuZ@{fRcuZ}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Rcu\-Z}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r12}
+
+
+
+
+Definition at line 62 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Set\-Rcu\-Z(), and Write\-Energy\-Histograms().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fTimingAverageValues@{fTimingAverageValues}}
+\index{fTimingAverageValues@{fTimingAverageValues}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Float\_\-t {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Timing\-Average\-Values}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r4}
+
+
+
+
+Definition at line 52 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Init(), and Reset().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fTimingHistogramPtrs@{fTimingHistogramPtrs}}
+\index{fTimingHistogramPtrs@{fTimingHistogramPtrs}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TH1F$\ast$ {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Timing\-Histogram\-Ptrs}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r1}
+
+
+
+
+Definition at line 48 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Fill\-Time(), and Init().\index{AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}!fTmpChannelData@{fTmpChannelData}}
+\index{fTmpChannelData@{fTmpChannelData}!AliHLTPHOSRcuHistogramProducer@{Ali\-HLTPHOSRcu\-Histogram\-Producer}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer::f\-Tmp\-Channel\-Data}[ALTRO\_\-MAX\_\-SAMPLES]\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducer_r8}
+
+
+
+
+Definition at line 56 of file Ali\-HLTPHOSRcu\-Histogram\-Producer.h.
+
+Referenced by Reset().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer.h}\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducerComponent.eps b/HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducerComponent.eps
new file mode 100644 (file)
index 0000000..08a331a
--- /dev/null
@@ -0,0 +1,209 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 278.746
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.79375 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 4 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTPHOSRcuHistogramProducerComponent) cw
+(AliHLTProcessor) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTPHOSRcuHistogramProducerComponent) 0 0 box
+ (AliHLTProcessor) 0 1 box
+ (AliHLTComponent) 0 2 box
+ (AliHLTLogging) 0 3 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
+solid
+0 0 1 out
+solid
+1 0 2 in
+solid
+0 0 2 out
+solid
+1 0 3 in
diff --git a/HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducerComponent.tex b/HLT/PHOS/latex/classAliHLTPHOSRcuHistogramProducerComponent.tex
new file mode 100644 (file)
index 0000000..0b47350
--- /dev/null
@@ -0,0 +1,664 @@
+\section{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component Class Reference}
+\label{classAliHLTPHOSRcuHistogramProducerComponent}\index{AliHLTPHOSRcuHistogramProducerComponent@{AliHLTPHOSRcuHistogramProducerComponent}}
+{\tt \#include $<$Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h$>$}
+
+Inheritance diagram for Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=4cm]{classAliHLTPHOSRcuHistogramProducerComponent}
+\end{center}
+\end{figure}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} ()
+\item 
+virtual int {\bf Do\-Init} (int argc, const char $\ast$$\ast$argv)
+\item 
+virtual int {\bf Deinit} ()
+\item 
+virtual int {\bf Do\-Deinit} ()
+\item 
+virtual int {\bf Do\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks)
+\item 
+virtual void {\bf Get\-Input\-Data\-Types} (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)
+\item 
+virtual {\bf Ali\-HLTComponent\-Data\-Type} {\bf Get\-Output\-Data\-Type} ()
+\item 
+virtual void {\bf Get\-Output\-Data\-Size} (unsigned long \&const\-Base, double \&input\-Multiplier)
+\item 
+virtual {\bf Ali\-HLTComponent} $\ast$ {\bf Spawn} ()
+\item 
+virtual const char $\ast$ {\bf Get\-Component\-ID} ()
+\item 
+int {\bf Get\-Equippment\-Id} ()
+\item 
+void {\bf Set\-Rcu\-X} ({\bf Ali\-HLTUInt8\_\-t} X)
+\item 
+void {\bf Set\-Rcu\-Z} ({\bf Ali\-HLTUInt8\_\-t} Z)
+\item 
+void {\bf Set\-Module\-ID} ({\bf Ali\-HLTUInt8\_\-t} module\-ID)
+\item 
+void {\bf Set\-Equippment\-Id} (int id)
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} (const {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} \&)
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} \& {\bf operator=} (const {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} \&)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+int {\bf f\-Event\-Count}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-X}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-Z}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer} $\ast$ {\bf f\-Rcu\-Histo\-Producer\-Ptr}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct} $\ast$ {\bf f\-Out\-Ptr}
+\item 
+int {\bf f\-Equippment\-ID}
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf input\-Data\-Types} [$\,$] = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}
+\item 
+const {\bf Ali\-HLTComponent\-Data\-Type} {\bf output\-Data\-Type} = {\bf k\-Ali\-HLTVoid\-Data\-Type}
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!AliHLTPHOSRcuHistogramProducerComponent@{AliHLTPHOSRcuHistogramProducerComponent}}
+\index{AliHLTPHOSRcuHistogramProducerComponent@{AliHLTPHOSRcuHistogramProducerComponent}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component ()}\label{classAliHLTPHOSRcuHistogramProducerComponent_a0}
+
+
+
+
+Definition at line 39 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}39                                                                                  :AliHLTProcessor(), fEventCount(0), fRcuHistoProducerPtr(0)
+40 {
+41   //  Reset();
+42 } 
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!~AliHLTPHOSRcuHistogramProducerComponent@{$\sim$AliHLTPHOSRcuHistogramProducerComponent}}
+\index{~AliHLTPHOSRcuHistogramProducerComponent@{$\sim$AliHLTPHOSRcuHistogramProducerComponent}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::$\sim${\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a1}
+
+
+
+
+Definition at line 46 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}47 {
+48 
+49 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!AliHLTPHOSRcuHistogramProducerComponent@{AliHLTPHOSRcuHistogramProducerComponent}}
+\index{AliHLTPHOSRcuHistogramProducerComponent@{AliHLTPHOSRcuHistogramProducerComponent}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component (const {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} \&)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_d0}
+
+
+
+
+Definition at line 52 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}52                                                                                                                                   : AliHLTProcessor(), fEventCount(0), fRcuHistoProducerPtr(0)
+53 {
+54 
+55 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!Deinit@{Deinit}}
+\index{Deinit@{Deinit}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a3}
+
+
+Clean-up function to terminate data processing. Clean-up of common data structures after data processing. The call is redirected to the internal method {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a4})} which can be overridden by the child class. 
+
+Reimplemented from {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_a3})}.
+
+Definition at line 59 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References f\-Rcu\-Histo\-Producer\-Ptr, and Ali\-HLTPHOSRcu\-Histogram\-Producer::Write\-Energy\-Histograms().
+
+\footnotesize\begin{verbatim}60 {
+61   cout << "AliHLTPHOSRcuHistogramProducerComponent::Deinit()" << endl;
+62   fRcuHistoProducerPtr->WriteEnergyHistograms();
+63   return 0;
+64 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!DoDeinit@{DoDeinit}}
+\index{DoDeinit@{DoDeinit}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a4}
+
+
+Default method for the internal clean-up. The method is called by {\bf Deinit}{\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a3})} 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_b6})}.
+
+Definition at line 68 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References k\-HLTLog\-Info, and Ali\-HLTLogging::Logging().
+
+\footnotesize\begin{verbatim}69 {
+70   Logging(kHLTLogInfo, "HLT", "PHOS", ",AliHLTPHOSRcuHistogramProducer DoDeinit");
+71   return 0;
+72 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!DoEvent@{DoEvent}}
+\index{DoEvent@{DoEvent}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a5}
+
+
+The low-level data processing method for the component. This is the custom processing method and can be overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em blocks}]input data block descriptors \item[{\em trig\-Data}]trigger data structure \item[{\em output\-Ptr}]pointer to target buffer \item[{\em size}]{\em input\/}: size of target buffer {\em output\/}:size of produced data \item[{\em output\-Blocks}]list to receive output block descriptors \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Reimplemented from {\bf Ali\-HLTProcessor} {\rm (p.\,\pageref{classAliHLTProcessor_d0})}.
+
+Definition at line 109 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References Ali\-HLTUInt8\_\-t, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Accumulated\-Energies, Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Cnt, Ali\-HLTComponent\-Block\-Data::f\-Data\-Type, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Energy, f\-Event\-Count, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Gain, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Hits, Ali\-HLTComponent::Fill\-Block\-Data(), Ali\-HLTPHOSRcu\-Histogram\-Producer::Fill\-Energy(), Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Module\-ID, Ali\-HLTComponent\-Block\-Data::f\-Offset, f\-Out\-Ptr, Ali\-HLTComponent\-Block\-Data::f\-Ptr, f\-Rcu\-Histo\-Producer\-Ptr, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-X, Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-Z, Ali\-HLTComponent\-Block\-Data::f\-Size, Ali\-HLTComponent\-Block\-Data::f\-Specification, Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Valid\-Data, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-X, Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Z, Ali\-HLTPHOSRcu\-Histogram\-Producer::Get\-Cell\-Accumulated\-Energies(), k\-HLTLog\-Fatal, and Ali\-HLTLogging::Logging().
+
+\footnotesize\begin{verbatim}112 {
+113   unsigned long ndx       = 0;
+114   UInt_t offset           = 0; 
+115   UInt_t mysize           = 0;
+116   UInt_t tSize            = 0;
+117   const AliHLTComponentBlockData* iter = NULL;   
+118   AliHLTPHOSRcuCellEnergyDataStruct *cellDataPtr;
+119   AliHLTUInt8_t* outBPtr;
+120  
+121   // outBPtr = outputPtr;
+122   // fOutPtr =  (AliHLTPHOSRcuCellAccumulatedEnergyDataStruct*)outBPtr;
+123   int tmpCnt;
+124 
+125   for( ndx = 0; ndx < evtData.fBlockCnt; ndx++ )
+126     {
+127       iter = blocks+ndx;
+128       cellDataPtr = (AliHLTPHOSRcuCellEnergyDataStruct*)( iter->fPtr);
+129       tmpCnt =  cellDataPtr->fCnt;
+130 
+131       for(int i= 0; i <= tmpCnt; i ++)
+132         {
+133           fRcuHistoProducerPtr->FillEnergy(cellDataPtr->fValidData[i].fX,
+134                                            cellDataPtr->fValidData[i].fZ, 
+135                                            cellDataPtr->fValidData[i].fGain, 
+136                                            cellDataPtr->fValidData[i].fEnergy);
+137         }
+138     }
+139   
+140   outBPtr = outputPtr;
+141   fOutPtr =  (AliHLTPHOSRcuCellAccumulatedEnergyDataStruct*)outBPtr;
+142   const AliHLTPHOSRcuCellAccumulatedEnergyDataStruct  &innPtr = fRcuHistoProducerPtr->GetCellAccumulatedEnergies();
+143 
+144   fOutPtr->fModuleID = fModuleID;
+145   fOutPtr->fRcuX     = fRcuX;
+146   fOutPtr->fRcuZ     = fRcuZ;
+147 
+148 
+149   for(int x=0; x < N_XCOLUMNS_RCU; x ++)
+150     {
+151       for(int z=0; z < N_XCOLUMNS_RCU; z ++)
+152         {
+153           for(int gain =0;  gain < N_GAINS; gain ++)
+154             {
+155               fOutPtr->fAccumulatedEnergies[x][z][gain] = innPtr.fAccumulatedEnergies[x][z][gain];
+156               fOutPtr->fHits[x][z][gain] = innPtr.fHits[x][z][gain];
+157             }
+158         }
+159     }
+160 
+161 
+162   //pushing data to shared output memory
+163   mysize += sizeof(AliHLTPHOSRcuCellAccumulatedEnergyDataStruct);
+164   AliHLTComponentBlockData bd;
+165   FillBlockData( bd );
+166   bd.fOffset = offset;
+167   bd.fSize = mysize;
+168   bd.fDataType = AliHLTPHOSDefinitions::gkCellAccumulatedEnergyDataType;
+169   bd.fSpecification = 0xFFFFFFFF;
+170   outputBlocks.push_back( bd );
+171   tSize += mysize;
+172   outBPtr += mysize;
+173 
+174   if( tSize > size )
+175     {
+176       Logging( kHLTLogFatal, "HLT::AliHLTRcuHistogramProducerComponent::DoEvent", "Too much data",
+177                "Data written over allowed buffer. Amount written: %lu, allowed amount: %lu."
+178                , tSize, size );
+179       return EMSGSIZE;
+180     }
+181 
+182   fEventCount++; 
+183   return 0;
+184 }//end DoEvent
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!DoInit@{DoInit}}
+\index{DoInit@{DoInit}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Init (int {\em argc}, const char $\ast$$\ast$ {\em argv})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a2}
+
+
+Default method for the internal initialization. The method is called by {\bf Init}{\rm (p.\,\pageref{classAliHLTProcessor_a2})} 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_b5})}.
+
+Definition at line 188 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References Ali\-HLTUInt8\_\-t, f\-Equippment\-ID, f\-Rcu\-Histo\-Producer\-Ptr, k\-HLTLog\-Fatal, Ali\-HLTLogging::Logging(), Set\-Module\-ID(), Set\-Rcu\-X(), and Set\-Rcu\-Z().
+
+\footnotesize\begin{verbatim}189 {
+190   int iResult=0;
+191   TString argument="";
+192   //  fRcuHistoProducerPtr = new AliHLTPHOSRcuHistogramProducer();
+193   AliHLTUInt8_t tmpRcuX;
+194   AliHLTUInt8_t tmpRcuZ; 
+195   AliHLTUInt8_t tmpModuleID;
+196   Bool_t isSetEquippmentID = kFALSE;
+197 
+198   for(int i=0; i<argc && iResult>=0; i++) 
+199     {
+200       argument=argv[i];
+201       
+202       if (argument.IsNull()) 
+203         {
+204           continue;
+205         }
+206       if (argument.CompareTo("-equipmentID") == 0) 
+207         {
+208           if(i+1 <= argc)
+209             {
+210               fEquippmentID = atoi(argv[i+1]);
+211               isSetEquippmentID = kTRUE;
+212             }
+213           else
+214             {
+215                iResult= -1;
+216                Logging( kHLTLogFatal, "HLT::AliHLTPHOSRcuHistogramProducerComponent::DoInt( int argc, const char** argv )", "Missing argument",
+217                         "The argument -equippmentID expects a number");
+218                return  iResult;   
+219             }
+220         }
+221 
+222       int rcuIndex =  (fEquippmentID - 1792)%N_RCUS_PER_MODULE;
+223       //     fModuleID = (fEquippmentID  -1792 -rcuIndex)/N_RCUS_PER_MODULE;
+224       tmpModuleID = ((fEquippmentID -1792 -rcuIndex)/N_RCUS_PER_MODULE);
+225       SetModuleID(tmpModuleID);
+226 
+227       if(rcuIndex == 0)
+228         {
+229           tmpRcuX = 0; 
+230           tmpRcuZ = 0;
+231         }
+232       
+233       if(rcuIndex == 1)
+234         {
+235          tmpRcuX = 0; 
+236          tmpRcuZ = 1;
+237         }
+238       
+239       if(rcuIndex == 2)
+240         {
+241           tmpRcuX = 1; 
+242           tmpRcuZ = 0;
+243         }
+244       
+245       if(rcuIndex == 3)
+246         {
+247           tmpRcuX = 1; 
+248           tmpRcuZ = 1;
+249         }
+250 
+251       SetRcuX(tmpRcuX);
+252       SetRcuZ(tmpRcuZ); 
+253       cout <<"********InitInfo************"<< endl;
+254       cout <<"AliHLTPHOSRcuHistogramProducerComponent::SetCoordinate"<< endl;
+255       cout <<"Equpippment ID =\t"<< fEquippmentID <<endl;
+256       cout <<"Module ID =\t"<<  (int) tmpModuleID<<endl;
+257       cout <<"RCUX =\t\t" << (int)tmpRcuX << endl;
+258       cout <<"RCUZ =\t\t" << (int)tmpRcuZ << endl;
+259      }
+260 
+261   if(isSetEquippmentID == kFALSE)
+262     {
+263        Logging( kHLTLogFatal, "HLT::AliHLTPHOSRcuHistogramProducerComponent::DoInt( int argc, const char** argv )", "Missing argument",
+264                         "The argument equippmentID is not set: set it with a component argumet like this: -equippmentID  <number>");
+265        iResult = -2; 
+266     }
+267 
+268   
+269   fRcuHistoProducerPtr = new AliHLTPHOSRcuHistogramProducer( tmpModuleID, tmpRcuX, tmpRcuZ);
+270 
+271 
+272   return  iResult;
+273 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!GetComponentID@{GetComponentID}}
+\index{GetComponentID@{GetComponentID}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Get\-Component\-ID ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a10}
+
+
+Get the id of the component. Each component is identified by a unique id. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]component id (string) \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a9})}.
+
+Definition at line 76 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}77 {
+78   return "RcuHistogramProducer";
+79 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!GetEquippmentId@{GetEquippmentId}}
+\index{GetEquippmentId@{GetEquippmentId}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Get\-Equippment\-Id ()}\label{classAliHLTPHOSRcuHistogramProducerComponent_a11}
+
+
+
+
+Definition at line 306 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}307 {
+308   return  fEquippmentID;
+309 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!GetInputDataTypes@{GetInputDataTypes}}
+\index{GetInputDataTypes@{GetInputDataTypes}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Get\-Input\-Data\-Types (std::vector$<$ {\bf Ali\-HLTComponent\-Data\-Type} $>$ \&)\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a6}
+
+
+
+
+Definition at line 83 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References Ali\-HLTComponent\-Data\-Type::f\-ID.
+
+\footnotesize\begin{verbatim}84 {
+85   const AliHLTComponentDataType* pType=inputDataTypes;
+86   while (pType->fID!=0) 
+87     {
+88       list.push_back(*pType);
+89       pType++;
+90     }
+91 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!GetOutputDataSize@{GetOutputDataSize}}
+\index{GetOutputDataSize@{GetOutputDataSize}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Get\-Output\-Data\-Size (unsigned long \& {\em const\-Base}, double \& {\em input\-Multiplier})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a8}
+
+
+Get a ratio by how much the data volume is shrinked or enhanced. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em const\-Base}]{\em return\/}: additive part, independent of the input data volume \item[{\em input\-Multiplier}]{\em return\/}: multiplication ratio \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]values in the reference variables \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a12})}.
+
+Definition at line 102 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}103 {
+104   constBase = 30;
+105   inputMultiplier = 1;
+106 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!GetOutputDataType@{GetOutputDataType}}
+\index{GetOutputDataType@{GetOutputDataType}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Get\-Output\-Data\-Type ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a7}
+
+
+Get the output data type of the component. The function is pure virtual and must be implemented by the child class. \begin{Desc}
+\item[Returns:]output data type \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a11})}.
+
+Definition at line 95 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}96 {
+97   return AliHLTPHOSDefinitions::gkCellEnergyDataType;
+98 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}\& Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::operator= (const {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} \&)\hspace{0.3cm}{\tt  [inline, private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_d1}
+
+
+
+
+Definition at line 47 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h.
+
+\footnotesize\begin{verbatim}48    {
+49       return *this;
+50    };
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!SetEquippmentId@{SetEquippmentId}}
+\index{SetEquippmentId@{SetEquippmentId}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Set\-Equippment\-Id (int {\em id})}\label{classAliHLTPHOSRcuHistogramProducerComponent_a15}
+
+
+
+
+Definition at line 298 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References f\-Equippment\-ID, f\-Rcu\-Histo\-Producer\-Ptr, and Ali\-HLTPHOSRcu\-Histogram\-Producer::Set\-Equippment\-Id().
+
+\footnotesize\begin{verbatim}299 {
+300   fEquippmentID = id;
+301   fRcuHistoProducerPtr->SetEquippmentId(id);
+302 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!SetModuleID@{SetModuleID}}
+\index{SetModuleID@{SetModuleID}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Set\-Module\-ID ({\bf Ali\-HLTUInt8\_\-t} {\em module\-ID})}\label{classAliHLTPHOSRcuHistogramProducerComponent_a14}
+
+
+
+
+Definition at line 291 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References f\-Module\-ID.
+
+Referenced by Do\-Init().
+
+\footnotesize\begin{verbatim}292 {
+293   fModuleID = moduleID;
+294 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!SetRcuX@{SetRcuX}}
+\index{SetRcuX@{SetRcuX}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Set\-Rcu\-X ({\bf Ali\-HLTUInt8\_\-t} {\em X})}\label{classAliHLTPHOSRcuHistogramProducerComponent_a12}
+
+
+
+
+Definition at line 277 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References f\-Rcu\-X.
+
+Referenced by Do\-Init().
+
+\footnotesize\begin{verbatim}278 {
+279   fRcuX = X;
+280 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!SetRcuZ@{SetRcuZ}}
+\index{SetRcuZ@{SetRcuZ}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Set\-Rcu\-Z ({\bf Ali\-HLTUInt8\_\-t} {\em Z})}\label{classAliHLTPHOSRcuHistogramProducerComponent_a13}
+
+
+
+
+Definition at line 284 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+References f\-Rcu\-Z.
+
+Referenced by Do\-Init().
+
+\footnotesize\begin{verbatim}285 {
+286   fRcuZ = Z;
+287 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!Spawn@{Spawn}}
+\index{Spawn@{Spawn}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent} $\ast$ Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Spawn ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_a9}
+
+
+Spawn function. Each component must implement a spawn function to create a new instance of the class. Basically the function must return {\em new {\bf my\_\-class\_\-name}\/}. \begin{Desc}
+\item[Returns:]new class instance \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a13})}.
+
+Definition at line 313 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+\footnotesize\begin{verbatim}314 {
+315   return new AliHLTPHOSRcuHistogramProducerComponent;
+316 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!fEquippmentID@{fEquippmentID}}
+\index{fEquippmentID@{fEquippmentID}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::f\-Equippment\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_r6}
+
+
+
+
+Definition at line 64 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h.
+
+Referenced by Do\-Init(), and Set\-Equippment\-Id().\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!fEventCount@{fEventCount}}
+\index{fEventCount@{fEventCount}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::f\-Event\-Count}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_r0}
+
+
+internal event no 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_r2})}.
+
+Definition at line 51 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h.
+
+Referenced by Do\-Event().\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::f\-Module\-ID}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_r3}
+
+
+
+
+Definition at line 54 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h.
+
+Referenced by Set\-Module\-ID().\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!fOutPtr@{fOutPtr}}
+\index{fOutPtr@{fOutPtr}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}$\ast$ {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::f\-Out\-Ptr}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_r5}
+
+
+
+
+Definition at line 56 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h.
+
+Referenced by Do\-Event().\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!fRcuHistoProducerPtr@{fRcuHistoProducerPtr}}
+\index{fRcuHistoProducerPtr@{fRcuHistoProducerPtr}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer}$\ast$ {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::f\-Rcu\-Histo\-Producer\-Ptr}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_r4}
+
+
+
+
+Definition at line 55 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h.
+
+Referenced by Deinit(), Do\-Event(), Do\-Init(), and Set\-Equippment\-Id().\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!fRcuX@{fRcuX}}
+\index{fRcuX@{fRcuX}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::f\-Rcu\-X}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_r1}
+
+
+
+
+Definition at line 52 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h.
+
+Referenced by Set\-Rcu\-X().\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!fRcuZ@{fRcuZ}}
+\index{fRcuZ@{fRcuZ}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::f\-Rcu\-Z}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_r2}
+
+
+
+
+Definition at line 53 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h.
+
+Referenced by Set\-Rcu\-Z().\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!inputDataTypes@{inputDataTypes}}
+\index{inputDataTypes@{inputDataTypes}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::input\-Data\-Types} = \{{\bf k\-Ali\-HLTVoid\-Data\-Type},\{0,\char`\"{}\char`\"{},\char`\"{}\char`\"{}\}\}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_v0}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.\index{AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}!outputDataType@{outputDataType}}
+\index{outputDataType@{outputDataType}!AliHLTPHOSRcuHistogramProducerComponent@{Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::output\-Data\-Type} = {\bf k\-Ali\-HLTVoid\-Data\-Type}\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTPHOSRcuHistogramProducerComponent_v1}
+
+
+
+
+Definition at line 28 of file Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx.
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.h}\item 
+{\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTProcessor.eps b/HLT/PHOS/latex/classAliHLTProcessor.eps
new file mode 100644 (file)
index 0000000..58225c7
--- /dev/null
@@ -0,0 +1,239 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 67.5676
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 7.4 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 5 def
+/cols 5 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTProcessor) cw
+(AliHLTComponent) cw
+(AliHLTLogging) cw
+(AliHLTPHOSDDLDecoderComponent) cw
+(AliHLTPHOSHistogramProducerComponent) cw
+(AliHLTPHOSModuleMergerComponent) cw
+(AliHLTPHOSRawAnalyzerComponent) cw
+(AliHLTPHOSRcuHistogramProducerComponent) cw
+(AliHLTPHOSRawAnalyzerCrudeComponent) cw
+(AliHLTPHOSRawAnalyzerPeakFinderComponent) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTProcessor) 2 2 box
+ (AliHLTComponent) 2 3 box
+ (AliHLTLogging) 2 4 box
+ (AliHLTPHOSDDLDecoderComponent) 0 1 box
+ (AliHLTPHOSHistogramProducerComponent) 1 1 box
+ (AliHLTPHOSModuleMergerComponent) 2 1 box
+ (AliHLTPHOSRawAnalyzerComponent) 3 1 box
+ (AliHLTPHOSRcuHistogramProducerComponent) 4 1 box
+ (AliHLTPHOSRawAnalyzerCrudeComponent) 2.5 0 box
+ (AliHLTPHOSRawAnalyzerPeakFinderComponent) 3.5 0 box
+
+% ----- relations -----
+
+solid
+0 2 2 out
+solid
+1 2 3 in
+solid
+0 2 3 out
+solid
+1 2 4 in
+solid
+1 2 1.25 out
+solid
+0 4 2 conn
+solid
+0 0 1.75 in
+solid
+0 1 1.75 in
+solid
+0 2 1.75 in
+solid
+0 3 1.75 in
+solid
+1 3 0.25 out
+solid
+2.5 3.5 1 conn
+solid
+0 4 1.75 in
+solid
+0 2.5 0.75 in
+solid
+0 3.5 0.75 in
diff --git a/HLT/PHOS/latex/classAliHLTProcessor.tex b/HLT/PHOS/latex/classAliHLTProcessor.tex
new file mode 100644 (file)
index 0000000..229b6ac
--- /dev/null
@@ -0,0 +1,220 @@
+\section{Ali\-HLTProcessor Class Reference}
+\label{classAliHLTProcessor}\index{AliHLTProcessor@{AliHLTProcessor}}
+{\tt \#include $<$Ali\-HLTProcessor.h$>$}
+
+Inheritance diagram for Ali\-HLTProcessor::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=1.89189cm]{classAliHLTProcessor}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Base class of HLT data analysis components. The class provides a common interface for the implementation of HLT data analysis components. The child class must implement the functions:\begin{itemize}
+\item {\bf Do\-Init}{\rm (p.\,\pageref{classAliHLTComponent_b5})} (optional)\item {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTComponent_b6})} (optional)\item {\bf Do\-Event}{\rm (p.\,\pageref{classAliHLTProcessor_d0})}\item {\bf Get\-Component\-ID}{\rm (p.\,\pageref{classAliHLTComponent_a9})}\item {\bf Get\-Input\-Data\-Types}{\rm (p.\,\pageref{classAliHLTComponent_a10})}\item {\bf Get\-Output\-Data\-Type}{\rm (p.\,\pageref{classAliHLTComponent_a11})}\item {\bf Get\-Output\-Data\-Size}{\rm (p.\,\pageref{classAliHLTComponent_a12})}\item {\bf Spawn}{\rm (p.\,\pageref{classAliHLTComponent_a13})} \end{itemize}
+
+
+
+
+Definition at line 32 of file Ali\-HLTProcessor.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTProcessor} ()
+\item 
+virtual {\bf $\sim$Ali\-HLTProcessor} ()
+\item 
+int {\bf Init} ({\bf Ali\-HLTComponent\-Environment} $\ast$environ, void $\ast$environ\-Param, int argc, const char $\ast$$\ast$argv)
+\item 
+int {\bf Deinit} ()
+\item 
+int {\bf Do\-Processing} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\&edd)
+\item 
+{\bf TComponent\-Type} {\bf Get\-Component\-Type} ()
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+virtual int {\bf Do\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} \&size, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \&output\-Blocks)
+\item 
+virtual int {\bf Do\-Event} (const {\bf Ali\-HLTComponent\-Event\-Data} \&evt\-Data, {\bf Ali\-HLTComponent\-Trigger\-Data} \&trig\-Data)
+\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTProcessor@{Ali\-HLTProcessor}!AliHLTProcessor@{AliHLTProcessor}}
+\index{AliHLTProcessor@{AliHLTProcessor}!AliHLTProcessor@{Ali\-HLTProcessor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTProcessor::Ali\-HLTProcessor ()}\label{classAliHLTProcessor_a0}
+
+
+standard constructor \index{AliHLTProcessor@{Ali\-HLTProcessor}!~AliHLTProcessor@{$\sim$AliHLTProcessor}}
+\index{~AliHLTProcessor@{$\sim$AliHLTProcessor}!AliHLTProcessor@{Ali\-HLTProcessor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTProcessor::$\sim${\bf Ali\-HLTProcessor} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTProcessor_a1}
+
+
+standard destructor 
+
+Definition at line 43 of file Ali\-HLTProcessor.cxx.
+
+\footnotesize\begin{verbatim}44 { 
+45   // see header file for class documentation
+46 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTProcessor@{Ali\-HLTProcessor}!Deinit@{Deinit}}
+\index{Deinit@{Deinit}!AliHLTProcessor@{Ali\-HLTProcessor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTProcessor::Deinit ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTProcessor_a3}
+
+
+Clean-up function to terminate data processing. Clean-up of common data structures after data processing. The call is redirected to the internal method {\bf Do\-Deinit}{\rm (p.\,\pageref{classAliHLTComponent_b6})} which can be overridden by the child class. 
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a5})}.
+
+Reimplemented in {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a5})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a5})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a5})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_a5})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a3})}.
+
+Definition at line 56 of file Ali\-HLTProcessor.cxx.
+
+References Ali\-HLTComponent::Deinit().
+
+\footnotesize\begin{verbatim}57 {
+58   // see header file for class documentation
+59   int iResult=0;
+60   iResult=AliHLTComponent::Deinit();
+61   return iResult;
+62 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTProcessor@{Ali\-HLTProcessor}!DoEvent@{DoEvent}}
+\index{DoEvent@{DoEvent}!AliHLTProcessor@{Ali\-HLTProcessor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTProcessor::Do\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data})\hspace{0.3cm}{\tt  [private, virtual]}}\label{classAliHLTProcessor_d1}
+
+
+The high-level data processing method. This is the default processing method; the method is called if no low level {\bf Do\-Event}{\rm (p.\,\pageref{classAliHLTProcessor_d0})} method is overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em trig\-Data}]trigger data structure \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 89 of file Ali\-HLTProcessor.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}90 {
+91   HLTFatal("no processing method implemented");
+92   return -ENOSYS;
+93 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTProcessor@{Ali\-HLTProcessor}!DoEvent@{DoEvent}}
+\index{DoEvent@{DoEvent}!AliHLTProcessor@{Ali\-HLTProcessor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTProcessor::Do\-Event (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks})\hspace{0.3cm}{\tt  [private, virtual]}}\label{classAliHLTProcessor_d0}
+
+
+The low-level data processing method for the component. This is the custom processing method and can be overloaded by the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em evt\-Data}]event data structure \item[{\em blocks}]input data block descriptors \item[{\em trig\-Data}]trigger data structure \item[{\em output\-Ptr}]pointer to target buffer \item[{\em size}]{\em input\/}: size of target buffer {\em output\/}:size of produced data \item[{\em output\-Blocks}]list to receive output block descriptors \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Reimplemented in {\bf Ali\-HLTPHOSDDLDecoder\-Component} {\rm (p.\,\pageref{classAliHLTPHOSDDLDecoderComponent_a15})}, {\bf Ali\-HLTPHOSHistogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSHistogramProducerComponent_a7})}, {\bf Ali\-HLTPHOSModule\-Merger\-Component} {\rm (p.\,\pageref{classAliHLTPHOSModuleMergerComponent_a7})}, {\bf Ali\-HLTPHOSRaw\-Analyzer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRawAnalyzerComponent_d0})}, and {\bf Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component} {\rm (p.\,\pageref{classAliHLTPHOSRcuHistogramProducerComponent_a5})}.
+
+Definition at line 77 of file Ali\-HLTProcessor.cxx.
+
+Referenced by Do\-Processing().
+
+\footnotesize\begin{verbatim}83 {
+84   // we just forward to the high level method, all other parameters already
+85   // have been stored internally
+86   return DoEvent(evtData, trigData);
+87 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTProcessor@{Ali\-HLTProcessor}!DoProcessing@{DoProcessing}}
+\index{DoProcessing@{DoProcessing}!AliHLTProcessor@{Ali\-HLTProcessor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTProcessor::Do\-Processing (const {\bf Ali\-HLTComponent\-Event\-Data} \& {\em evt\-Data}, const {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\-Trigger\-Data} \& {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} \& {\em size}, vector$<$ {\bf Ali\-HLTComponent\-Block\-Data} $>$ \& {\em output\-Blocks}, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$\& {\em edd})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTProcessor_a4}
+
+
+Event processing function. The method is called by the framework to process one event. After preparation of data structures. The call is redirected to Do\-Event. \begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a7})}.
+
+Definition at line 64 of file Ali\-HLTProcessor.cxx.
+
+References Do\-Event().
+
+\footnotesize\begin{verbatim}69 {
+70   // see header file for class documentation
+71   int iResult=0;
+72   iResult=DoEvent(evtData, blocks, trigData, outputPtr, size, outputBlocks);
+73   edd = NULL;
+74   return iResult;
+75 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTProcessor@{Ali\-HLTProcessor}!GetComponentType@{GetComponentType}}
+\index{GetComponentType@{GetComponentType}!AliHLTProcessor@{Ali\-HLTProcessor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf TComponent\-Type} Ali\-HLTProcessor::Get\-Component\-Type ()\hspace{0.3cm}{\tt  [inline, virtual]}}\label{classAliHLTProcessor_a5}
+
+
+Return {\bf Ali\-HLTComponent::k\-Processor}{\rm (p.\,\pageref{classAliHLTComponent_w9w2})} type as component type. \begin{Desc}
+\item[Returns:]component type id \end{Desc}
+
+
+Implements {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a8})}.
+
+Definition at line 64 of file Ali\-HLTProcessor.h.
+
+\footnotesize\begin{verbatim}64 { return AliHLTComponent::kProcessor;}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTProcessor@{Ali\-HLTProcessor}!Init@{Init}}
+\index{Init@{Init}!AliHLTProcessor@{Ali\-HLTProcessor}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTProcessor::Init ({\bf Ali\-HLTComponent\-Environment} $\ast$ {\em environ}, void $\ast$ {\em environ\-Param}, int {\em argc}, const char $\ast$$\ast$ {\em argv})\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTProcessor_a2}
+
+
+Init function to prepare data processing. Initialization of common data structures for a sequence of events. The call is redirected to the internal method {\bf Do\-Init}{\rm (p.\,\pageref{classAliHLTComponent_b5})} which can be overridden by the child class.\par
+ During Init also the environment structure is passed to the component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em environ}]environment pointer with environment dependend function calls \item[{\em environ\-Param}]additionel parameter for function calls, the pointer is passed as it is \item[{\em argc}]size of the argument array \item[{\em argv}]agument array for component initialization \end{description}
+\end{Desc}
+
+
+Reimplemented from {\bf Ali\-HLTComponent} {\rm (p.\,\pageref{classAliHLTComponent_a4})}.
+
+Definition at line 48 of file Ali\-HLTProcessor.cxx.
+
+References Ali\-HLTComponent::Init().
+
+\footnotesize\begin{verbatim}49 {
+50   // see header file for class documentation
+51   int iResult=0;
+52   iResult=AliHLTComponent::Init(environ, environParam, argc, argv);
+53   return iResult;
+54 }
+\end{verbatim}\normalsize 
+
+
+
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTProcessor.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTProcessor.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTSystem.eps b/HLT/PHOS/latex/classAliHLTSystem.eps
new file mode 100644 (file)
index 0000000..df7eb4c
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 388.35
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.2875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTSystem) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTSystem) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTSystem.tex b/HLT/PHOS/latex/classAliHLTSystem.tex
new file mode 100644 (file)
index 0000000..3eb2b21
--- /dev/null
@@ -0,0 +1,1425 @@
+\section{Ali\-HLTSystem Class Reference}
+\label{classAliHLTSystem}\index{AliHLTSystem@{AliHLTSystem}}
+{\tt \#include $<$Ali\-HLTSystem.h$>$}
+
+Inheritance diagram for Ali\-HLTSystem::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTSystem}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+Main class for the HLT integration into Ali\-Root. The class handles a list of configurations. Configurations are translated into task lists which can be executed.
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 43 of file Ali\-HLTSystem.h.\subsection*{Public Types}
+\begin{CompactItemize}
+\item 
+enum {\bf Ali\-HLTSystem\-State\_\-t} \{ \par
+{\bf k\-Uninitialized} =  0x0, 
+{\bf k\-Libraries\-Loaded} =  0x1, 
+{\bf k\-Configuration\-Loaded} =  0x2, 
+{\bf k\-Task\-List\-Created} =  0x4, 
+\par
+{\bf k\-Ready} =  0x7, 
+{\bf k\-Running} =  0x8, 
+{\bf k\-Error} =  0x1000
+ \}
+\end{CompactItemize}
+\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTSystem} ()
+\item 
+{\bf Ali\-HLTSystem} (const {\bf Ali\-HLTSystem} \&)
+\item 
+{\bf Ali\-HLTSystem} \& {\bf operator=} (const {\bf Ali\-HLTSystem} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTSystem} ()
+\item 
+int {\bf Add\-Configuration} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf)
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+int {\bf Insert\-Configuration} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf, {\bf Ali\-HLTConfiguration} $\ast$p\-Prec)
+\item 
+int {\bf Delete\-Configuration} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf)
+\item 
+int {\bf Build\-Task\-List} (const char $\ast$p\-Conf)
+\item 
+int {\bf Build\-Task\-List} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf)
+\item 
+int {\bf Clean\-Task\-List} ()
+\item 
+int {\bf Insert\-Task} ({\bf Ali\-HLTTask} $\ast$p\-Task)
+\item 
+{\bf Ali\-HLTTask} $\ast$ {\bf Find\-Task} (const char $\ast$id)
+\item 
+void {\bf Print\-Task\-List} ()
+\item 
+int {\bf Run} (Int\_\-t i\-Nof\-Events=1)
+\item 
+int {\bf Init\-Tasks} ()
+\item 
+int {\bf Init\-Benchmarking} (TObj\-Array $\ast$p\-Stopwatches)
+\item 
+int {\bf Start\-Tasks} ()
+\item 
+int {\bf Process\-Tasks} (Int\_\-t event\-No)
+\item 
+int {\bf Stop\-Tasks} ()
+\item 
+int {\bf Deinit\-Tasks} ()
+\item 
+int {\bf Reconstruct} (int nof\-Events, Ali\-Run\-Loader $\ast$run\-Loader, Ali\-Raw\-Reader $\ast$raw\-Reader=NULL)
+\item 
+int {\bf Fill\-ESD} (int event\-No, Ali\-Run\-Loader $\ast$run\-Loader, Ali\-ESD $\ast$esd)
+\item 
+int {\bf Load\-Component\-Libraries} (const char $\ast$libs)
+\item 
+void $\ast$ {\bf Find\-Dynamic\-Symbol} (const char $\ast$library, const char $\ast$symbol)
+\item 
+int {\bf Configure} (Ali\-Run\-Loader $\ast$runloader=NULL)
+\item 
+int {\bf Reset} (int b\-Force=0)
+\item 
+int {\bf Load\-Configurations} (Ali\-Run\-Loader $\ast$runloader=NULL)
+\item 
+int {\bf Build\-Task\-Lists\-From\-Top\-Configurations} (Ali\-Run\-Loader $\ast$runloader=NULL)
+\item 
+int {\bf Check\-Status} (int flag)
+\item 
+int {\bf Get\-Status\-Flags} ()
+\end{CompactItemize}
+\subsection*{Static Public Member Functions}
+\begin{CompactItemize}
+\item 
+void $\ast$ {\bf Alloc\-Memory} (void $\ast$param, unsigned long size)
+\end{CompactItemize}
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTComponent\-Handler} $\ast$ {\bf fp\-Component\-Handler}
+\item 
+{\bf Ali\-HLTConfiguration\-Handler} $\ast$ {\bf fp\-Configuration\-Handler}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Set\-Status\-Flags} (int flags)
+\item 
+int {\bf Clear\-Status\-Flags} (int flags)
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTSystem}, 2)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+TList {\bf f\-Task\-List}
+\item 
+int {\bf f\-State}
+\end{CompactItemize}
+\subsection*{Static Private Attributes}
+\begin{CompactItemize}
+\item 
+int {\bf fg\-Nof\-Instances} = 0
+\end{CompactItemize}
+
+
+\subsection{Member Enumeration Documentation}
+\index{AliHLTSystem@{Ali\-HLTSystem}!AliHLTSystemState_t@{AliHLTSystemState\_\-t}}
+\index{AliHLTSystemState_t@{AliHLTSystemState\_\-t}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ali\-HLTSystem::Ali\-HLTSystem\-State\_\-t}}\label{classAliHLTSystem_w7}
+
+
+\begin{Desc}
+\item[Enumeration values: ]\par
+\begin{description}
+\index{kUninitialized@{kUninitialized}!AliHLTSystem@{AliHLTSystem}}\index{AliHLTSystem@{AliHLTSystem}!kUninitialized@{kUninitialized}}\item[{\em 
+k\-Uninitialized\label{classAliHLTSystem_w7w0}
+}]\index{kLibrariesLoaded@{kLibrariesLoaded}!AliHLTSystem@{AliHLTSystem}}\index{AliHLTSystem@{AliHLTSystem}!kLibrariesLoaded@{kLibrariesLoaded}}\item[{\em 
+k\-Libraries\-Loaded\label{classAliHLTSystem_w7w1}
+}]\index{kConfigurationLoaded@{kConfigurationLoaded}!AliHLTSystem@{AliHLTSystem}}\index{AliHLTSystem@{AliHLTSystem}!kConfigurationLoaded@{kConfigurationLoaded}}\item[{\em 
+k\-Configuration\-Loaded\label{classAliHLTSystem_w7w2}
+}]\index{kTaskListCreated@{kTaskListCreated}!AliHLTSystem@{AliHLTSystem}}\index{AliHLTSystem@{AliHLTSystem}!kTaskListCreated@{kTaskListCreated}}\item[{\em 
+k\-Task\-List\-Created\label{classAliHLTSystem_w7w3}
+}]\index{kReady@{kReady}!AliHLTSystem@{AliHLTSystem}}\index{AliHLTSystem@{AliHLTSystem}!kReady@{kReady}}\item[{\em 
+k\-Ready\label{classAliHLTSystem_w7w4}
+}]\index{kRunning@{kRunning}!AliHLTSystem@{AliHLTSystem}}\index{AliHLTSystem@{AliHLTSystem}!kRunning@{kRunning}}\item[{\em 
+k\-Running\label{classAliHLTSystem_w7w5}
+}]\index{kError@{kError}!AliHLTSystem@{AliHLTSystem}}\index{AliHLTSystem@{AliHLTSystem}!kError@{kError}}\item[{\em 
+k\-Error\label{classAliHLTSystem_w7w6}
+}]\end{description}
+\end{Desc}
+
+
+
+Definition at line 278 of file Ali\-HLTSystem.h.
+
+\footnotesize\begin{verbatim}278                            {
+279     kUninitialized       = 0x0,
+280     kLibrariesLoaded     = 0x1,
+281     kConfigurationLoaded = 0x2,
+282     kTaskListCreated     = 0x4,
+283     kReady               = 0x7,
+284     kRunning             = 0x8,
+285     kError               = 0x1000
+286   };
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTSystem@{Ali\-HLTSystem}!AliHLTSystem@{AliHLTSystem}}
+\index{AliHLTSystem@{AliHLTSystem}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTSystem::Ali\-HLTSystem ()}\label{classAliHLTSystem_a0}
+
+
+default constructor \index{AliHLTSystem@{Ali\-HLTSystem}!AliHLTSystem@{AliHLTSystem}}
+\index{AliHLTSystem@{AliHLTSystem}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTSystem::Ali\-HLTSystem (const {\bf Ali\-HLTSystem} \&)}\label{classAliHLTSystem_a1}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 87 of file Ali\-HLTSystem.cxx.
+
+References fg\-Nof\-Instances, HLTFatal, and HLTWarning.
+
+\footnotesize\begin{verbatim}88   :
+89   AliHLTLogging(),
+90   fpComponentHandler(NULL),
+91   fpConfigurationHandler(NULL),
+92   fTaskList(),
+93   fState(0)
+94 {
+95   // see header file for class documentation
+96   if (fgNofInstances++>0)
+97     HLTWarning("multiple instances of AliHLTSystem, you should not use more than one at a time");
+98 
+99   HLTFatal("copy constructor untested");
+100 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!~AliHLTSystem@{$\sim$AliHLTSystem}}
+\index{~AliHLTSystem@{$\sim$AliHLTSystem}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTSystem::$\sim${\bf Ali\-HLTSystem} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTSystem_a3}
+
+
+destructor 
+
+Definition at line 109 of file Ali\-HLTSystem.cxx.
+
+References Clean\-Task\-List(), fg\-Nof\-Instances, fp\-Component\-Handler, fp\-Configuration\-Handler, and Ali\-HLTConfiguration::Global\-Deinit().
+
+\footnotesize\begin{verbatim}110 {
+111   // see header file for class documentation
+112   fgNofInstances--;
+113   CleanTaskList();
+114   AliHLTConfiguration::GlobalDeinit(fpConfigurationHandler);
+115   if (fpConfigurationHandler) {
+116     delete fpConfigurationHandler;
+117   }
+118   fpConfigurationHandler=NULL;
+119   
+120   if (fpComponentHandler) {
+121     delete fpComponentHandler;
+122   }
+123   fpComponentHandler=NULL;
+124 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTSystem@{Ali\-HLTSystem}!AddConfiguration@{AddConfiguration}}
+\index{AddConfiguration@{AddConfiguration}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Add\-Configuration ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf})}\label{classAliHLTSystem_a4}
+
+
+transient 
+
+Add a configuration to the end of the list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]pointer to configuration to add \end{description}
+\end{Desc}
+
+
+Definition at line 128 of file Ali\-HLTSystem.cxx.
+
+\footnotesize\begin{verbatim}129 {
+130   // see header file for class documentation
+131   int iResult=0;
+132   if (pConf) {
+133   } else {
+134     iResult=-EINVAL;
+135   }
+136   return iResult;
+137 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!AllocMemory@{AllocMemory}}
+\index{AllocMemory@{AllocMemory}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void $\ast$ Ali\-HLTSystem::Alloc\-Memory (void $\ast$ {\em param}, unsigned long {\em size})\hspace{0.3cm}{\tt  [static]}}\label{classAliHLTSystem_e0}
+
+
+The memory allocation function for components. This function is part of the running environment of the components. 
+
+Definition at line 528 of file Ali\-HLTSystem.cxx.
+
+\footnotesize\begin{verbatim}529 {
+530   // see header file for class documentation
+531   if (param==NULL) {
+532     // get rid of 'unused parameter' warning
+533   }
+534   return (void*)new char[size];
+535 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!BuildTaskList@{BuildTaskList}}
+\index{BuildTaskList@{BuildTaskList}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Build\-Task\-List ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf})}\label{classAliHLTSystem_a8}
+
+
+Build task list from a configuration object. This method is kept for backward compatibility. Use the version with the configuration name. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]pointer to configuration to build the task list from \end{description}
+\end{Desc}
+
+
+Definition at line 186 of file Ali\-HLTSystem.cxx.
+
+References Build\-Task\-List(), Find\-Task(), Ali\-HLTConfiguration::Follow\-Dependency(), f\-Task\-List, Ali\-HLTTask::Get\-Conf(), Ali\-HLTConfiguration::Get\-First\-Source(), Ali\-HLTTask::Get\-Name(), Ali\-HLTConfiguration::Get\-Name(), Ali\-HLTConfiguration::Get\-Next\-Source(), HLTError, Insert\-Task(), Ali\-HLTTask::Print\-Dependency\-Tree(), and Ali\-HLTConfiguration::Sources\-Resolved().
+
+\footnotesize\begin{verbatim}187 {
+188   // see header file for class documentation
+189   int iResult=0;
+190   if (pConf) {
+191     AliHLTTask* pTask=NULL;
+192     if ((pTask=FindTask(pConf->GetName()))!=NULL) {
+193       if (pTask->GetConf()!=pConf) {
+194         HLTError("configuration missmatch, there is already a task with configuration name \"%s\", but it is different. Most likely configuration %p is not registered properly", pConf->GetName(), pConf);
+195         iResult=-EEXIST;
+196         pTask=NULL;
+197       }
+198     } else if (pConf->SourcesResolved(1)!=1) {
+199         HLTError("configuration \"%s\" has unresolved sources, aborting ...", pConf->GetName());
+200         iResult=-ENOLINK;
+201     } else {
+202       pTask=new AliHLTTask(pConf);
+203       if (pTask==NULL) {
+204         iResult=-ENOMEM;
+205       }
+206     }
+207     if (pTask) {
+208       // check for circular dependencies
+209       if ((iResult=pConf->FollowDependency(pConf->GetName()))>0) {
+210         HLTError("detected circular dependency for configuration \"%s\"", pTask->GetName());
+211         pTask->PrintDependencyTree(pTask->GetName(), 1/*use the configuration list*/);
+212         HLTError("aborted ...");
+213         iResult=-ELOOP;
+214       }
+215       if (iResult>=0) {
+216         // check whether all dependencies are already in the task list
+217         // create the missing ones
+218         // this step is an iterative process which calls this function again for the missing
+219         // configurations, in order to avoid the currently processed task to be created
+220         // again it is added to the list temporarily and removed afterwards
+221         // This is of high importance to preserve the order of the tasks. Furthermore, the
+222         // InsertTask method has to be used in order to set all the cross links right 
+223         fTaskList.Add(pTask);
+224         AliHLTConfiguration* pDep=pConf->GetFirstSource();
+225         while (pDep!=NULL && iResult>=0) {
+226           if (FindTask(pDep->GetName())==NULL) {
+227             iResult=BuildTaskList(pDep);
+228           }
+229           pDep=pConf->GetNextSource();
+230         }
+231         // remove the temporarily added task
+232         fTaskList.Remove(pTask);
+233 
+234         // insert the task and set the cross-links
+235         if (iResult>=0) {
+236           iResult=InsertTask(pTask);
+237         }
+238       } else {
+239         delete pTask;
+240         pTask=NULL;
+241       }
+242     }
+243   } else {
+244     iResult=-EINVAL;
+245   }
+246   return iResult;
+247 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!BuildTaskList@{BuildTaskList}}
+\index{BuildTaskList@{BuildTaskList}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Build\-Task\-List (const char $\ast$ {\em p\-Conf})}\label{classAliHLTSystem_a7}
+
+
+Build a task list This method is used to build the tasks from the 'master' configuration objects which are added to the HLT system handler. This is an iterative process since the task might depend upon other configurations. For each configuration object which has not yet been converted into a task, the method will be called iteratively. Finally, after building all tasks which the current one depends on have been created, the task is inserted to the list of tasks with the Insert\-Task method. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]configuration name/id \end{description}
+\end{Desc}
+
+
+Definition at line 164 of file Ali\-HLTSystem.cxx.
+
+References Ali\-HLTConfiguration\-Handler::Find\-Configuration(), fp\-Configuration\-Handler, and HLTError.
+
+Referenced by Build\-Task\-List(), and Build\-Task\-Lists\-From\-Top\-Configurations().
+
+\footnotesize\begin{verbatim}165 {
+166   // see header file for class documentation
+167   int iResult=0;
+168   if (id) {
+169     if (fpConfigurationHandler) {
+170       AliHLTConfiguration* pConf=fpConfigurationHandler->FindConfiguration(id);
+171       if (pConf) {
+172         iResult=BuildTaskList(pConf);
+173       } else {
+174         HLTError("unknown configuration \"%s\"", id);
+175         iResult=-EEXIST;
+176       }
+177     } else {
+178       iResult=-EFAULT;
+179     }
+180   } else {
+181     iResult=-EINVAL;
+182   }
+183   return iResult;
+184 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!BuildTaskListsFromTopConfigurations@{BuildTaskListsFromTopConfigurations}}
+\index{BuildTaskListsFromTopConfigurations@{BuildTaskListsFromTopConfigurations}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Build\-Task\-Lists\-From\-Top\-Configurations (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL})}\label{classAliHLTSystem_a27}
+
+
+Get the top configurations of all agents and build the task lists. \begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 665 of file Ali\-HLTSystem.cxx.
+
+References Build\-Task\-List(), Check\-Status(), Ali\-HLTConfiguration\-Handler::Find\-Configuration(), fp\-Configuration\-Handler, Ali\-HLTModule\-Agent::Get\-First\-Agent(), Ali\-HLTModule\-Agent::Get\-Local\-Rec\-Configurations(), Ali\-HLTModule\-Agent::Get\-Next\-Agent(), HLTDebug, HLTError, HLTWarning, k\-Configuration\-Loaded, k\-Running, k\-Task\-List\-Created, and Set\-Status\-Flags().
+
+Referenced by Configure().
+
+\footnotesize\begin{verbatim}666 {
+667   // see header file for class documentation
+668   if (CheckStatus(kRunning)) {
+669     HLTError("HLT system in running state, can not configure");
+670     return -EBUSY;
+671   }
+672   if (!CheckStatus(kConfigurationLoaded)) {
+673     HLTWarning("configurations not yet loaded");
+674     return 0;
+675   }
+676 
+677   int iResult=0;
+678   AliHLTModuleAgent* pAgent=AliHLTModuleAgent::GetFirstAgent();
+679   while (pAgent && iResult>=0) {
+680     TString tops=pAgent->GetLocalRecConfigurations(runloader);
+681     HLTDebug("top configurations for agent %s (%p): %s", pAgent->GetName(), pAgent, tops.Data());
+682     TObjArray* pTokens=tops.Tokenize(" ");
+683     if (pTokens) {
+684       int iEntries=pTokens->GetEntries();
+685       for (int i=0; i<iEntries && iResult>=0; i++) {
+686         const char* pCID=((TObjString*)pTokens->At(i))->GetString().Data();
+687         AliHLTConfiguration* pConf=fpConfigurationHandler->FindConfiguration(pCID);
+688         if (pConf) {
+689           iResult=BuildTaskList(pConf);
+690         } else {
+691           HLTWarning("can not find top configuration %s", pCID);
+692         }
+693       }
+694       delete pTokens;
+695     }
+696     
+697     pAgent=AliHLTModuleAgent::GetNextAgent();
+698   }
+699   if (iResult>=0) SetStatusFlags(kTaskListCreated);
+700 
+701   return iResult;
+702 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!CheckStatus@{CheckStatus}}
+\index{CheckStatus@{CheckStatus}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Check\-Status (int {\em flag})}\label{classAliHLTSystem_a28}
+
+
+Check status of the system. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em flag}]Ali\-HLTSystem\-State\_\-t value to check for \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 if set, 0 if not \end{Desc}
+
+
+Definition at line 704 of file Ali\-HLTSystem.cxx.
+
+References f\-State, and k\-Uninitialized.
+
+Referenced by Build\-Task\-Lists\-From\-Top\-Configurations(), Configure(), Load\-Configurations(), Reconstruct(), and Reset().
+
+\footnotesize\begin{verbatim}705 {
+706   // see header file for class documentation
+707   if (flag==kUninitialized && flag==fState) return 1;
+708   if ((fState&flag)==flag) return 1;
+709   return 0;
+710 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTSystem::Class\-Def ({\bf Ali\-HLTSystem}, 2)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTSystem_d2}
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!CleanTaskList@{CleanTaskList}}
+\index{CleanTaskList@{CleanTaskList}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Clean\-Task\-List ()}\label{classAliHLTSystem_a9}
+
+
+Clean the list of tasks and delete all the task objects. 
+
+Definition at line 249 of file Ali\-HLTSystem.cxx.
+
+References f\-Task\-List.
+
+Referenced by Reset(), and $\sim$Ali\-HLTSystem().
+
+\footnotesize\begin{verbatim}250 {
+251   // see header file for class documentation
+252   int iResult=0;
+253   TObjLink* lnk=NULL;
+254   while ((lnk=fTaskList.LastLink())!=NULL) {
+255     delete (lnk->GetObject());
+256     fTaskList.Remove(lnk);
+257   }
+258   return iResult;
+259 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!ClearStatusFlags@{ClearStatusFlags}}
+\index{ClearStatusFlags@{ClearStatusFlags}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Clear\-Status\-Flags (int {\em flags})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTSystem_d1}
+
+
+clear status flags. 
+
+Definition at line 725 of file Ali\-HLTSystem.cxx.
+
+References f\-State.
+
+Referenced by Configure(), Load\-Component\-Libraries(), Reset(), and Run().
+
+\footnotesize\begin{verbatim}726 {
+727   // see header file for class documentation
+728   fState&=~flags;
+729   return fState;
+730 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!Configure@{Configure}}
+\index{Configure@{Configure}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Configure (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL})}\label{classAliHLTSystem_a24}
+
+
+Prepare the HLT system for running.\begin{itemize}
+\item module agents are requested to register configurations\item task lists are built from the top configurations of the modules \begin{Desc}
+\item[Returns:]neg. error code if failed \par
+ -EBUSY system is in k\-Running state \par
+ \end{Desc}
+\end{itemize}
+
+
+Definition at line 604 of file Ali\-HLTSystem.cxx.
+
+References Build\-Task\-Lists\-From\-Top\-Configurations(), Ali\-HLTLogging::Check\-Filter(), Check\-Status(), Clear\-Status\-Flags(), HLTError, k\-Configuration\-Loaded, k\-Error, k\-HLTLog\-Debug, k\-Running, k\-Task\-List\-Created, Load\-Configurations(), Ali\-HLTModule\-Agent::Print\-Status(), and Set\-Status\-Flags().
+
+\footnotesize\begin{verbatim}605 {
+606   // see header file for class documentation
+607   int iResult=0;
+608   if (CheckStatus(kRunning)) {
+609     HLTError("HLT system in running state, can not configure");
+610     return -EBUSY;
+611   }
+612   if (CheckFilter(kHLTLogDebug))
+613     AliHLTModuleAgent::PrintStatus();
+614   ClearStatusFlags(kConfigurationLoaded|kTaskListCreated);
+615   iResult=LoadConfigurations(runloader);
+616   if (iResult>=0) {
+617     SetStatusFlags(kConfigurationLoaded);
+618     iResult=BuildTaskListsFromTopConfigurations(runloader);
+619     if (iResult>=0) {
+620       SetStatusFlags(kTaskListCreated);
+621     }
+622   }
+623   if (iResult<0) SetStatusFlags(kError);
+624   
+625   return iResult;
+626 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!DeinitTasks@{DeinitTasks}}
+\index{DeinitTasks@{DeinitTasks}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Deinit\-Tasks ()}\label{classAliHLTSystem_a19}
+
+
+De-init all tasks from the list. The {\bf Ali\-HLTTask::Deinit}{\rm (p.\,\pageref{classAliHLTTask_a6})} method is called for each task, the components will be deleted. \begin{Desc}
+\item[Returns:]neg error code if failed \end{Desc}
+
+
+Definition at line 511 of file Ali\-HLTSystem.cxx.
+
+References Ali\-HLTTask::Deinit(), and f\-Task\-List.
+
+Referenced by Run().
+
+\footnotesize\begin{verbatim}512 {
+513   // see header file for class documentation
+514   int iResult=0;
+515   TObjLink *lnk=fTaskList.FirstLink();
+516   while (lnk && iResult>=0) {
+517     TObject* obj=lnk->GetObject();
+518     if (obj) {
+519       AliHLTTask* pTask=(AliHLTTask*)obj;
+520       iResult=pTask->Deinit();
+521     } else {
+522     }
+523     lnk = lnk->Next();
+524   }
+525   return iResult;
+526 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!DeleteConfiguration@{DeleteConfiguration}}
+\index{DeleteConfiguration@{DeleteConfiguration}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Delete\-Configuration ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf})}\label{classAliHLTSystem_a6}
+
+
+Remove a configuration from the list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]pointer to configuration to delete \end{description}
+\end{Desc}
+
+
+Definition at line 153 of file Ali\-HLTSystem.cxx.
+
+\footnotesize\begin{verbatim}154 {
+155   // see header file for class documentation
+156   int iResult=0;
+157   if (pConf) {
+158   } else {
+159     iResult=-EINVAL;
+160   }
+161   return iResult;
+162 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!FillESD@{FillESD}}
+\index{FillESD@{FillESD}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Fill\-ESD (int {\em event\-No}, Ali\-Run\-Loader $\ast$ {\em run\-Loader}, Ali\-ESD $\ast$ {\em esd})}\label{classAliHLTSystem_a21}
+
+
+Fill ESD for one event. To be called by the Ali\-HLTReconstructor plugin during the event loop and Fill\-ESD method of the Ali\-Root reconstruction. This method is called on event basis, and thus must copy the previously reconstructed data of the event from the 'ESD' recorder. The Fill\-ESD method of all active Ali\-HLTOffline\-Data\-Sink's is called. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em event\-No}]current event no (Note: this event number is just a processing counter and is not related to the nature/ origin of the event \item[{\em run\-Loader}]the Ali\-Root runloader \item[{\em esd}]an Ali\-ESD instance \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 558 of file Ali\-HLTSystem.cxx.
+
+References Ali\-HLTOffline\-Interface::Fill\-Component\-ESDs(), HLTError, and HLTInfo.
+
+\footnotesize\begin{verbatim}559 {
+560   // see header file for class documentation
+561   int iResult=0;
+562   if (runLoader) {
+563     HLTInfo("Event %d: Run Loader %p, ESD %p", eventNo, runLoader, esd);
+564     iResult=AliHLTOfflineInterface::FillComponentESDs(eventNo, runLoader, esd);
+565   } else {
+566     HLTError("missing run loader/ESD instance(s)");
+567     iResult=-EINVAL;
+568   }
+569   return iResult;
+570 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!FindDynamicSymbol@{FindDynamicSymbol}}
+\index{FindDynamicSymbol@{FindDynamicSymbol}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void $\ast$ Ali\-HLTSystem::Find\-Dynamic\-Symbol (const char $\ast$ {\em library}, const char $\ast$ {\em symbol})}\label{classAliHLTSystem_a23}
+
+
+Find a symbol in a dynamically loaded library. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em library}]library \item[{\em symbol}]the symbol to find \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]void pointer to function \end{Desc}
+
+
+Definition at line 732 of file Ali\-HLTSystem.cxx.
+
+References Ali\-HLTComponent\-Handler::Find\-Symbol(), and fp\-Component\-Handler.
+
+\footnotesize\begin{verbatim}733 {
+734   if (fpComponentHandler==NULL) return NULL;
+735   return fpComponentHandler->FindSymbol(library, symbol);
+736 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!FindTask@{FindTask}}
+\index{FindTask@{FindTask}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTTask} $\ast$ Ali\-HLTSystem::Find\-Task (const char $\ast$ {\em id})}\label{classAliHLTSystem_a11}
+
+
+Find a task with an id. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]CONFIGURATION id (not a COMPONENT id!) \end{description}
+\end{Desc}
+
+
+Definition at line 299 of file Ali\-HLTSystem.cxx.
+
+References f\-Task\-List.
+
+Referenced by Build\-Task\-List().
+
+\footnotesize\begin{verbatim}300 {
+301   // see header file for class documentation
+302   AliHLTTask* pTask=NULL;
+303   if (id) {
+304     pTask=(AliHLTTask*)fTaskList.FindObject(id); 
+305   }
+306   return pTask;
+307 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!GetStatusFlags@{GetStatusFlags}}
+\index{GetStatusFlags@{GetStatusFlags}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Get\-Status\-Flags ()}\label{classAliHLTSystem_a29}
+
+
+Get the current status. \begin{Desc}
+\item[Returns:]status flags of {\bf Ali\-HLTSystem\-State\_\-t}{\rm (p.\,\pageref{classAliHLTSystem_w7})} \end{Desc}
+
+
+Definition at line 712 of file Ali\-HLTSystem.cxx.
+
+Referenced by Reconstruct().
+
+\footnotesize\begin{verbatim}713 {
+714   // see header file for class documentation
+715   return fState;
+716 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!InitBenchmarking@{InitBenchmarking}}
+\index{InitBenchmarking@{InitBenchmarking}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Init\-Benchmarking (TObj\-Array $\ast$ {\em p\-Stopwatches})}\label{classAliHLTSystem_a15}
+
+
+Init the stopwatches for all tasks. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Stopwatches}]object array of stopwatches, for types \end{description}
+\end{Desc}
+\begin{Desc}
+\item[See also:]{\bf Ali\-HLTComponent::Ali\-HLTStopwatch\-Type}{\rm (p.\,\pageref{classAliHLTComponent_w10})} \end{Desc}
+\begin{Desc}
+\item[Returns:]neg error code if failed \end{Desc}
+
+
+Definition at line 406 of file Ali\-HLTSystem.cxx.
+
+References f\-Task\-List, Ali\-HLTTask::Get\-Component(), Ali\-HLTComponent::Get\-Component\-Type(), HLTWarning, Ali\-HLTComponent::Set\-Stopwatch(), and Ali\-HLTComponent::Set\-Stopwatches().
+
+Referenced by Run().
+
+\footnotesize\begin{verbatim}407 {
+408   // see header file for class documentation
+409   if (pStopwatches==NULL) return -EINVAL;
+410 
+411   int iResult=0;
+412   TObjLink *lnk=fTaskList.FirstLink();
+413   while (lnk && iResult>=0) {
+414     TObject* obj=lnk->GetObject();
+415     if (obj) {
+416       AliHLTTask* pTask=(AliHLTTask*)obj;
+417       AliHLTComponent* pComp=NULL;
+418       if (iResult>=0 && (pComp=pTask->GetComponent())!=NULL) {
+419         switch (pComp->GetComponentType()) {
+420         case AliHLTComponent::kProcessor:
+421           pComp->SetStopwatches(pStopwatches);
+422           break;
+423         case AliHLTComponent::kSource:
+424           {
+425             // this switch determines whether the time consumption of the
+426             // AliHLTComponent base methods should be counted to the input
+427             // stopwatch or base stopwatch.
+428             //int inputBase=(int)AliHLTComponent::kSWBase;
+429             int inputBase=(int)AliHLTComponent::kSWInput;
+430             pComp->SetStopwatch(pStopwatches->At(inputBase), AliHLTComponent::kSWBase);
+431             pComp->SetStopwatch(pStopwatches->At((int)AliHLTComponent::kSWInput), AliHLTComponent::kSWDA);
+432           }
+433           break;
+434         case AliHLTComponent::kSink:
+435           {
+436             // this switch determines whether the time consumption of the
+437             // AliHLTComponent base methods should be counted to the output
+438             // stopwatch or base stopwatch.
+439             //int outputBase=(int)AliHLTComponent::kSWBase;
+440             int outputBase=(int)AliHLTComponent::kSWOutput;
+441             pComp->SetStopwatch(pStopwatches->At(outputBase), AliHLTComponent::kSWBase);
+442             pComp->SetStopwatch(pStopwatches->At((int)AliHLTComponent::kSWOutput), AliHLTComponent::kSWDA);
+443           }
+444           break;
+445         default:
+446           HLTWarning("unknown component type %d", (int)pComp->GetComponentType());
+447         }
+448       }
+449     } else {
+450     }
+451     lnk = lnk->Next();
+452   }
+453   return iResult;
+454 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!InitTasks@{InitTasks}}
+\index{InitTasks@{InitTasks}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Init\-Tasks ()}\label{classAliHLTSystem_a14}
+
+
+Init all tasks from the list. The {\bf Ali\-HLTTask::Init}{\rm (p.\,\pageref{classAliHLTTask_a5})} method is called for each task, the components will be created. \begin{Desc}
+\item[Returns:]neg error code if failed \end{Desc}
+
+
+Definition at line 383 of file Ali\-HLTSystem.cxx.
+
+References fp\-Component\-Handler, f\-Task\-List, HLTWarning, and Ali\-HLTTask::Init().
+
+Referenced by Run().
+
+\footnotesize\begin{verbatim}384 {
+385   // see header file for class documentation
+386   int iResult=0;
+387   TObjLink *lnk=fTaskList.FirstLink();
+388   if (lnk==NULL) {
+389     HLTWarning("Task list is empty, aborting ...");
+390     return -ENOENT;
+391   }
+392   while (lnk && iResult>=0) {
+393     TObject* obj=lnk->GetObject();
+394     if (obj) {
+395       AliHLTTask* pTask=(AliHLTTask*)obj;
+396       iResult=pTask->Init(NULL, fpComponentHandler);
+397     } else {
+398     }
+399     lnk = lnk->Next();
+400   }
+401   if (iResult<0) {
+402   }
+403   return iResult;
+404 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!InsertConfiguration@{InsertConfiguration}}
+\index{InsertConfiguration@{InsertConfiguration}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Insert\-Configuration ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf}, {\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Prec})}\label{classAliHLTSystem_a5}
+
+
+Insert a configuration to the end of the list after the specified configuration. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]pointer to configuration to insert \item[{\em p\-Prec}]pointer to configuration to insert the new one after \end{description}
+\end{Desc}
+
+
+Definition at line 139 of file Ali\-HLTSystem.cxx.
+
+\footnotesize\begin{verbatim}140 {
+141   // see header file for class documentation
+142   int iResult=0;
+143   if (pConf) {
+144     if (pPrec) {
+145       // find the position
+146     }
+147   } else {
+148     iResult=-EINVAL;
+149   }
+150   return iResult;
+151 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!InsertTask@{InsertTask}}
+\index{InsertTask@{InsertTask}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Insert\-Task ({\bf Ali\-HLTTask} $\ast$ {\em p\-Task})}\label{classAliHLTSystem_a10}
+
+
+Insert a task to the task list. The method first checks whether all dependencies are resolved (i.e. exist already in the task list). During this iteration the cross links between the tasks are set as well. If all dependencies are resolved, the task is added at the end of the list. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Task}]pointer to task to add \end{description}
+\end{Desc}
+
+
+Definition at line 261 of file Ali\-HLTSystem.cxx.
+
+References Ali\-HLTTask::Check\-Dependencies(), Ali\-HLTTask::Depends(), f\-Task\-List, Ali\-HLTTask::Get\-Name(), HLTDebug, HLTError, Ali\-HLTTask::Set\-Dependency(), and Ali\-HLTTask::Set\-Target().
+
+Referenced by Build\-Task\-List().
+
+\footnotesize\begin{verbatim}262 {
+263   // see header file for class documentation
+264   int iResult=0;
+265   TObjLink *lnk = NULL;
+266   if ((iResult=pTask->CheckDependencies())>0)
+267     lnk=fTaskList.FirstLink();
+268   while (lnk && iResult>0) {
+269     AliHLTTask* pCurr = (AliHLTTask*)lnk->GetObject();
+270     //HLTDebug("checking  \"%s\"", pCurr->GetName());
+271     iResult=pTask->Depends(pCurr);
+272     if (iResult>0) {
+273       iResult=pTask->SetDependency(pCurr);
+274       pCurr->SetTarget(pTask);
+275       HLTDebug("set dependency  \"%s\" for configuration \"%s\"", pCurr->GetName(), pTask->GetName());
+276     }
+277     if (pCurr->Depends(pTask)) {
+278       // circular dependency
+279       HLTError("circular dependency: can not resolve dependencies for configuration \"%s\"", pTask->GetName());
+280       iResult=-ELOOP;
+281     } else if ((iResult=pTask->CheckDependencies())>0) {
+282       lnk = lnk->Next();
+283     }
+284   }
+285   if (iResult==0) {
+286       if (lnk) {
+287         fTaskList.AddAfter(lnk, pTask);
+288       } else {
+289         fTaskList.AddFirst(pTask);
+290       }
+291       HLTDebug("task \"%s\" (%p) inserted (size %d)", pTask->GetName(), pTask, sizeof(AliHLTTask));
+292   } else if (iResult>0) {
+293     HLTError("can not resolve dependencies for configuration \"%s\" (%d unresolved)", pTask->GetName(), iResult);
+294     iResult=-ENOLINK;
+295   }
+296   return iResult;
+297 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!LoadComponentLibraries@{LoadComponentLibraries}}
+\index{LoadComponentLibraries@{LoadComponentLibraries}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Load\-Component\-Libraries (const char $\ast$ {\em libs})}\label{classAliHLTSystem_a22}
+
+
+Load component libraries. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em libs}]string of blank separated library names \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 572 of file Ali\-HLTSystem.cxx.
+
+References Clear\-Status\-Flags(), fp\-Component\-Handler, HLTFatal, k\-Libraries\-Loaded, Ali\-HLTComponent\-Handler::Load\-Library(), and Set\-Status\-Flags().
+
+Referenced by Load\-Configurations().
+
+\footnotesize\begin{verbatim}573 {
+574   // see header file for class documentation
+575   int iResult=0;
+576   if (libraries) {
+577     if (fpComponentHandler) {
+578       TString libs(libraries);
+579       TObjArray* pTokens=libs.Tokenize(" ");
+580       if (pTokens) {
+581         int iEntries=pTokens->GetEntries();
+582         for (int i=0; i<iEntries && iResult>=0; i++) {
+583           iResult=fpComponentHandler->LoadLibrary((((TObjString*)pTokens->At(i))->GetString()).Data());
+584         }
+585         delete pTokens;
+586       }
+587       if (iResult>=0) {
+588         SetStatusFlags(kLibrariesLoaded);
+589       } else {
+590         // lets see if we need this, probably not
+591         //fpComponentHandler->UnloadLibraries();
+592         ClearStatusFlags(kLibrariesLoaded);
+593       }
+594     } else {
+595       iResult=-EFAULT;
+596       HLTFatal("no component handler available");
+597     }
+598   } else {
+599     iResult=-EINVAL;
+600   }
+601   return iResult;
+602 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!LoadConfigurations@{LoadConfigurations}}
+\index{LoadConfigurations@{LoadConfigurations}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Load\-Configurations (Ali\-Run\-Loader $\ast$ {\em runloader} = {\tt NULL})}\label{classAliHLTSystem_a26}
+
+
+Load the configurations specified by the module agents. The run\-Loader is passed to the agent and allows configuration selection. \begin{Desc}
+\item[Returns:]neg. error code if failed \end{Desc}
+
+
+Definition at line 641 of file Ali\-HLTSystem.cxx.
+
+References Check\-Status(), Ali\-HLTModule\-Agent::Create\-Configurations(), fp\-Configuration\-Handler, Ali\-HLTModule\-Agent::Get\-First\-Agent(), Ali\-HLTModule\-Agent::Get\-Next\-Agent(), Ali\-HLTModule\-Agent::Get\-Required\-Component\-Libraries(), HLTDebug, HLTError, k\-Running, and Load\-Component\-Libraries().
+
+Referenced by Configure().
+
+\footnotesize\begin{verbatim}642 {
+643   // see header file for class documentation
+644   if (CheckStatus(kRunning)) {
+645     HLTError("HLT system in running state, can not configure");
+646     return -EBUSY;
+647   }
+648   int iResult=0;
+649   AliHLTModuleAgent* pAgent=AliHLTModuleAgent::GetFirstAgent();
+650   while (pAgent && iResult>=0) {
+651     const char* deplibs=pAgent->GetRequiredComponentLibraries();
+652     if (deplibs) {
+653       HLTDebug("load libraries \'%s\' for agent %s (%p)", deplibs, pAgent->GetName(), pAgent);
+654       iResult=LoadComponentLibraries(deplibs);
+655     }
+656     if (iResult>=0) {
+657       HLTDebug("load configurations for agent %s (%p)", pAgent->GetName(), pAgent);
+658       pAgent->CreateConfigurations(fpConfigurationHandler, runloader);
+659       pAgent=AliHLTModuleAgent::GetNextAgent();
+660     }
+661   }
+662   return iResult;
+663 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTSystem} \& Ali\-HLTSystem::operator= (const {\bf Ali\-HLTSystem} \&)}\label{classAliHLTSystem_a2}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 102 of file Ali\-HLTSystem.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}103 { 
+104   // see header file for class documentation
+105   HLTFatal("assignment operator untested");
+106   return *this;
+107 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!PrintTaskList@{PrintTaskList}}
+\index{PrintTaskList@{PrintTaskList}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTSystem::Print\-Task\-List ()}\label{classAliHLTSystem_a12}
+
+
+Print the task list. 
+
+Definition at line 309 of file Ali\-HLTSystem.cxx.
+
+References f\-Task\-List, HLTLog\-Keyword, HLTMessage, and Ali\-HLTTask::Print\-Status().
+
+\footnotesize\begin{verbatim}310 {
+311   // see header file for class documentation
+312   HLTLogKeyword("task list");
+313   TObjLink *lnk = NULL;
+314   HLTMessage("Task List");
+315   lnk=fTaskList.FirstLink();
+316   while (lnk) {
+317     TObject* obj=lnk->GetObject();
+318     if (obj) {
+319       HLTMessage("  %s - status:", obj->GetName());
+320       AliHLTTask* pTask=(AliHLTTask*)obj;
+321       pTask->PrintStatus();
+322     } else {
+323     }
+324     lnk = lnk->Next();
+325   }
+326 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!ProcessTasks@{ProcessTasks}}
+\index{ProcessTasks@{ProcessTasks}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Process\-Tasks (Int\_\-t {\em event\-No})}\label{classAliHLTSystem_a17}
+
+
+Process task list. The {\bf Ali\-HLTTask::Process\-Task}{\rm (p.\,\pageref{classAliHLTTask_a20})} method is called for each task. \begin{Desc}
+\item[Returns:]neg error code if failed \end{Desc}
+
+
+Definition at line 475 of file Ali\-HLTSystem.cxx.
+
+References f\-Task\-List, Ali\-HLTTask::Get\-Name(), HLTDebug, and Ali\-HLTTask::Process\-Task().
+
+Referenced by Run().
+
+\footnotesize\begin{verbatim}476 {
+477   // see header file for class documentation
+478   int iResult=0;
+479   HLTDebug("processing event no %d", eventNo);
+480   TObjLink *lnk=fTaskList.FirstLink();
+481   while (lnk && iResult>=0) {
+482     TObject* obj=lnk->GetObject();
+483     if (obj) {
+484       AliHLTTask* pTask=(AliHLTTask*)obj;
+485       iResult=pTask->ProcessTask(eventNo);
+486       HLTDebug("task %s finnished (%d)", pTask->GetName(), iResult);
+487     } else {
+488     }
+489     lnk = lnk->Next();
+490   }
+491   return iResult;
+492 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!Reconstruct@{Reconstruct}}
+\index{Reconstruct@{Reconstruct}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Reconstruct (int {\em nof\-Events}, Ali\-Run\-Loader $\ast$ {\em run\-Loader}, Ali\-Raw\-Reader $\ast$ {\em raw\-Reader} = {\tt NULL})}\label{classAliHLTSystem_a20}
+
+
+Reconstruction inside Ali\-Root. To be called by the Ali\-HLTReconstructor plugin during the Local\-Reconstruction step of the Ali\-Root reconstruction. The latter means that all events are reconstructed at once, the event loop is internally implemented. In contrast to that, the Fill\-ESD method is called event by event. This requires an 'ESD' recorder at the end of the HLT chain, in order to have the reconstructed events available for the Fill\-ESD loop. The 'run\-Loader' and 'raw\-Reader' parameters are set to all active Ali\-HLTOffline\-Data\-Source's and the HLT chain is processed for the given number of events. If the raw\-Reader is NULL, reconstruction is done on simulated data, from real data if a Raw\-Reader is specified. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em nof\-Events}]number of events \item[{\em run\-Loader}]the Ali\-Root runloader \item[{\em raw\-Reader}]the Ali\-Root Raw\-Reader \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]number of reconstructed events, neg. error code if failed \end{Desc}
+
+
+Definition at line 537 of file Ali\-HLTSystem.cxx.
+
+References Check\-Status(), Get\-Status\-Flags(), HLTError, HLTInfo, k\-Ready, Run(), and Ali\-HLTOffline\-Interface::Set\-Params\-To\-Components().
+
+\footnotesize\begin{verbatim}539 {
+540   // see header file for class documentation
+541   int iResult=0;
+542   if (runLoader) {
+543     HLTInfo("Run Loader %p, Raw Reader %p , %d events", runLoader, rawReader, nofEvents);
+544     if (CheckStatus(kReady)) {
+545       if ((iResult=AliHLTOfflineInterface::SetParamsToComponents(runLoader, rawReader))>=0) {
+546         iResult=Run(nofEvents);
+547       }
+548     } else {
+549       HLTError("wrong state %#x, required flags %#x", GetStatusFlags(), kReady);
+550     }
+551   } else {
+552     HLTError("missing run loader instance");
+553     iResult=-EINVAL;
+554   }
+555   return iResult;
+556 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!Reset@{Reset}}
+\index{Reset@{Reset}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Reset (int {\em b\-Force} = {\tt 0})}\label{classAliHLTSystem_a25}
+
+
+Reset the HLT system. Reset is not possible while the system is in running state. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em b\-Force}]force the reset \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]neg. error code if failed \par
+ -EBUSY system is in k\-Running state \par
+ \end{Desc}
+
+
+Definition at line 628 of file Ali\-HLTSystem.cxx.
+
+References Check\-Status(), Clean\-Task\-List(), Clear\-Status\-Flags(), HLTError, k\-Running, and k\-Uninitialized.
+
+\footnotesize\begin{verbatim}629 {
+630   // see header file for class documentation
+631   int iResult=0;
+632   if (!bForce && CheckStatus(kRunning)) {
+633     HLTError("HLT system in running state, can not configure");
+634     return -EBUSY;
+635   }
+636   CleanTaskList();
+637   ClearStatusFlags(~kUninitialized);
+638   return iResult;
+639 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!Run@{Run}}
+\index{Run@{Run}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Run (Int\_\-t {\em i\-Nof\-Events} = {\tt 1})}\label{classAliHLTSystem_a13}
+
+
+Run the task list. The method checks whether the task list has already been build. If not, or the configuration list has been changed, the {\bf Build\-Task\-List}{\rm (p.\,\pageref{classAliHLTSystem_a7})} method is scalled All tasks of the list will be subsequently processed for each event. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em i\-Nof\-Events}]number of events \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]number of reconstructed events, neg error code if failed \end{Desc}
+
+
+Definition at line 328 of file Ali\-HLTSystem.cxx.
+
+References Clear\-Status\-Flags(), Deinit\-Tasks(), HLTError, HLTInfo, Init\-Benchmarking(), Init\-Tasks(), k\-Running, Process\-Tasks(), Set\-Status\-Flags(), Start\-Tasks(), and Stop\-Tasks().
+
+Referenced by Reconstruct().
+
+\footnotesize\begin{verbatim}329 {
+330   // see header file for class documentation
+331   int iResult=0;
+332   int iCount=0;
+333   SetStatusFlags(kRunning);
+334   TStopwatch StopwatchBase; StopwatchBase.Reset();
+335   TStopwatch StopwatchDA; StopwatchDA.Reset();
+336   TStopwatch StopwatchInput; StopwatchInput.Reset();
+337   TStopwatch StopwatchOutput; StopwatchOutput.Reset();
+338   TObjArray Stopwatches;
+339   Stopwatches.AddAt(&StopwatchBase, (int)AliHLTComponent::kSWBase);
+340   Stopwatches.AddAt(&StopwatchDA, (int)AliHLTComponent::kSWDA);
+341   Stopwatches.AddAt(&StopwatchInput, (int)AliHLTComponent::kSWInput);
+342   Stopwatches.AddAt(&StopwatchOutput, (int)AliHLTComponent::kSWOutput);
+343   if ((iResult=InitTasks())>=0 && (iResult=InitBenchmarking(&Stopwatches))>=0) {
+344     if ((iResult=StartTasks())>=0) {
+345       for (int i=0; i<iNofEvents && iResult>=0; i++) {
+346         iResult=ProcessTasks(i);
+347         if (iResult>=0) {
+348           HLTInfo("Event %d successfully finished (%d)", i, iResult);
+349           iResult=0;
+350           iCount++;
+351         } else {
+352           HLTError("Processing of event %d failed (%d)", i, iResult);
+353           // TODO: define different running modes to either ignore errors in
+354           // event processing or not
+355           // currently ignored 
+356           //iResult=0;
+357         }
+358       }
+359       StopTasks();
+360     } else {
+361       HLTError("can not start task list");
+362     }
+363     DeinitTasks();
+364   } else if (iResult!=-ENOENT) {
+365     HLTError("can not initialize task list");
+366   }
+367   if (iResult>=0) {
+368     iResult=iCount;
+369     HLTInfo("HLT statistics:\n"
+370             "    base:              R:%.3fs C:%.3fs\n"
+371             "    input:             R:%.3fs C:%.3fs\n"
+372             "    output:            R:%.3fs C:%.3fs\n"
+373             "    event processing : R:%.3fs C:%.3fs"
+374             , StopwatchBase.RealTime(),StopwatchBase.CpuTime()
+375             , StopwatchInput.RealTime(),StopwatchInput.CpuTime()
+376             , StopwatchOutput.RealTime(),StopwatchOutput.CpuTime()
+377             , StopwatchDA.RealTime(),StopwatchDA.CpuTime());
+378   }
+379   ClearStatusFlags(kRunning);
+380   return iResult;
+381 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!SetStatusFlags@{SetStatusFlags}}
+\index{SetStatusFlags@{SetStatusFlags}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Set\-Status\-Flags (int {\em flags})\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTSystem_d0}
+
+
+Set status flags. 
+
+Definition at line 718 of file Ali\-HLTSystem.cxx.
+
+References f\-State.
+
+Referenced by Build\-Task\-Lists\-From\-Top\-Configurations(), Configure(), Load\-Component\-Libraries(), and Run().
+
+\footnotesize\begin{verbatim}719 {
+720   // see header file for class documentation
+721   fState|=flags;
+722   return fState;
+723 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!StartTasks@{StartTasks}}
+\index{StartTasks@{StartTasks}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Start\-Tasks ()}\label{classAliHLTSystem_a16}
+
+
+Start task list. The {\bf Ali\-HLTTask::Start\-Run}{\rm (p.\,\pageref{classAliHLTTask_a18})} method is called for each task, the components will be prepared for event processing. \begin{Desc}
+\item[Returns:]neg error code if failed \end{Desc}
+
+
+Definition at line 456 of file Ali\-HLTSystem.cxx.
+
+References f\-Task\-List, and Ali\-HLTTask::Start\-Run().
+
+Referenced by Run().
+
+\footnotesize\begin{verbatim}457 {
+458   // see header file for class documentation
+459   int iResult=0;
+460   TObjLink *lnk=fTaskList.FirstLink();
+461   while (lnk && iResult>=0) {
+462     TObject* obj=lnk->GetObject();
+463     if (obj) {
+464       AliHLTTask* pTask=(AliHLTTask*)obj;
+465       iResult=pTask->StartRun();
+466     } else {
+467     }
+468     lnk = lnk->Next();
+469   }
+470   if (iResult<0) {
+471   }
+472   return iResult;
+473 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTSystem@{Ali\-HLTSystem}!StopTasks@{StopTasks}}
+\index{StopTasks@{StopTasks}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTSystem::Stop\-Tasks ()}\label{classAliHLTSystem_a18}
+
+
+Stop task list. The {\bf Ali\-HLTTask::End\-Run}{\rm (p.\,\pageref{classAliHLTTask_a19})} method is called for each task, the components will be cleaned after event processing. \begin{Desc}
+\item[Returns:]neg error code if failed \end{Desc}
+
+
+Definition at line 494 of file Ali\-HLTSystem.cxx.
+
+References Ali\-HLTTask::End\-Run(), and f\-Task\-List.
+
+Referenced by Run().
+
+\footnotesize\begin{verbatim}495 {
+496   // see header file for class documentation
+497   int iResult=0;
+498   TObjLink *lnk=fTaskList.FirstLink();
+499   while (lnk && iResult>=0) {
+500     TObject* obj=lnk->GetObject();
+501     if (obj) {
+502       AliHLTTask* pTask=(AliHLTTask*)obj;
+503       iResult=pTask->EndRun();
+504     } else {
+505     }
+506     lnk = lnk->Next();
+507   }
+508   return iResult;
+509 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTSystem@{Ali\-HLTSystem}!fgNofInstances@{fgNofInstances}}
+\index{fgNofInstances@{fgNofInstances}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTSystem::fg\-Nof\-Instances} = 0\hspace{0.3cm}{\tt  [static, private]}}\label{classAliHLTSystem_v0}
+
+
+the number of instances of Ali\-HLTSystem 
+
+Definition at line 126 of file Ali\-HLTSystem.cxx.
+
+Referenced by Ali\-HLTSystem(), and $\sim$Ali\-HLTSystem().\index{AliHLTSystem@{Ali\-HLTSystem}!fpComponentHandler@{fpComponentHandler}}
+\index{fpComponentHandler@{fpComponentHandler}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Handler}$\ast$ {\bf Ali\-HLTSystem::fp\-Component\-Handler}}\label{classAliHLTSystem_o0}
+
+
+Pointer to an instance of {\bf Ali\-HLTComponent\-Handler}{\rm (p.\,\pageref{classAliHLTComponentHandler})}. 
+
+Definition at line 57 of file Ali\-HLTSystem.h.
+
+Referenced by Find\-Dynamic\-Symbol(), Init\-Tasks(), Load\-Component\-Libraries(), and $\sim$Ali\-HLTSystem().\index{AliHLTSystem@{Ali\-HLTSystem}!fpConfigurationHandler@{fpConfigurationHandler}}
+\index{fpConfigurationHandler@{fpConfigurationHandler}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration\-Handler}$\ast$ {\bf Ali\-HLTSystem::fp\-Configuration\-Handler}}\label{classAliHLTSystem_o1}
+
+
+transient 
+
+Pointer to an instance of {\bf Ali\-HLTConfiguration\-Handler}{\rm (p.\,\pageref{classAliHLTConfigurationHandler})}. 
+
+Definition at line 62 of file Ali\-HLTSystem.h.
+
+Referenced by Build\-Task\-List(), Build\-Task\-Lists\-From\-Top\-Configurations(), Load\-Configurations(), and $\sim$Ali\-HLTSystem().\index{AliHLTSystem@{Ali\-HLTSystem}!fState@{fState}}
+\index{fState@{fState}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTSystem::f\-State}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTSystem_r1}
+
+
+state of the object 
+
+Definition at line 324 of file Ali\-HLTSystem.h.
+
+Referenced by Check\-Status(), Clear\-Status\-Flags(), and Set\-Status\-Flags().\index{AliHLTSystem@{Ali\-HLTSystem}!fTaskList@{fTaskList}}
+\index{fTaskList@{fTaskList}!AliHLTSystem@{Ali\-HLTSystem}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TList {\bf Ali\-HLTSystem::f\-Task\-List}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTSystem_r0}
+
+
+list of tasks 
+
+Definition at line 318 of file Ali\-HLTSystem.h.
+
+Referenced by Build\-Task\-List(), Clean\-Task\-List(), Deinit\-Tasks(), Find\-Task(), Init\-Benchmarking(), Init\-Tasks(), Insert\-Task(), Print\-Task\-List(), Process\-Tasks(), Start\-Tasks(), and Stop\-Tasks().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTSystem.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTSystem.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/classAliHLTTask.eps b/HLT/PHOS/latex/classAliHLTTask.eps
new file mode 100644 (file)
index 0000000..2791059
--- /dev/null
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: ClassName
+%%Creator: Doxygen
+%%CreationDate: Time
+%%For: 
+%Magnification: 1.00
+%%Orientation: Portrait
+%%BoundingBox: 0 0 500 388.35
+%%Pages: 0
+%%BeginSetup
+%%EndSetup
+%%EndComments
+
+% ----- variables -----
+
+/boxwidth 0 def
+/boxheight 40 def
+/fontheight 24 def
+/marginwidth 10 def
+/distx 20 def
+/disty 40 def
+/boundaspect 1.2875 def  % aspect ratio of the BoundingBox (width/height)
+/boundx 500 def
+/boundy boundx boundaspect div def
+/xspacing 0 def
+/yspacing 0 def
+/rows 2 def
+/cols 1 def
+/scalefactor 0 def
+/boxfont /Times-Roman findfont fontheight scalefont def
+
+% ----- procedures -----
+
+/dotted { [1 4] 0 setdash } def
+/dashed { [5] 0 setdash } def
+/solid  { [] 0 setdash } def
+
+/max % result = MAX(arg1,arg2)
+{
+  /a exch def
+  /b exch def
+  a b gt {a} {b} ifelse
+} def
+
+/xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2)
+{
+  0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max
+} def
+
+/cw % boxwidth = MAX(boxwidth, stringwidth(arg1))
+{
+  /str exch def
+  /boxwidth boxwidth str stringwidth pop max def
+} def
+
+/box % draws a box with text `arg1' at grid pos (arg2,arg3)
+{ gsave
+  2 setlinewidth
+  newpath
+  exch xspacing mul xoffset add
+  exch yspacing mul
+  moveto
+  boxwidth 0 rlineto 
+  0 boxheight rlineto 
+  boxwidth neg 0 rlineto 
+  0 boxheight neg rlineto 
+  closepath
+  dup stringwidth pop neg boxwidth add 2 div
+  boxheight fontheight 2 div sub 2 div
+  rmoveto show stroke
+  grestore
+} def  
+
+/mark
+{ newpath
+  exch xspacing mul xoffset add boxwidth add
+  exch yspacing mul
+  moveto
+  0 boxheight 4 div rlineto
+  boxheight neg 4 div boxheight neg 4 div rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/arrow
+{ newpath
+  moveto
+  3 -8 rlineto
+  -6 0 rlineto
+  3 8 rlineto
+  closepath
+  eofill
+  stroke
+} def
+
+/out % draws an output connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight add
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto 
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/in % draws an input connector for the block at (arg1,arg2)
+{
+  newpath
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul disty 2 div sub
+  /y exch def
+  /x exch def
+  x y moveto
+  0 disty 2 div rlineto
+  stroke
+  1 eq { x y disty 2 div add arrow } if
+} def
+
+/hedge
+{
+  exch xspacing mul xoffset add boxwidth 2 div add
+  exch yspacing mul boxheight 2 div sub
+  /y exch def
+  /x exch def
+  newpath
+  x y moveto
+  boxwidth 2 div distx add 0 rlineto
+  stroke
+  1 eq
+  { newpath x boxwidth 2 div distx add add y moveto
+    -8 3 rlineto
+    0 -6 rlineto
+    8 3 rlineto
+    closepath
+    eofill
+    stroke
+  } if
+} def
+
+/vedge
+{
+  /ye exch def
+  /ys exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add dup
+  ys yspacing mul boxheight 2 div sub
+  moveto
+  ye yspacing mul boxheight 2 div sub
+  lineto
+  stroke
+} def
+
+/conn % connections the blocks from col `arg1' to `arg2' of row `arg3'
+{
+  /ys exch def
+  /xe exch def
+  /xs exch def
+  newpath
+  xs xspacing mul xoffset add boxwidth 2 div add
+  ys yspacing mul disty 2 div sub
+  moveto
+  xspacing xe xs sub mul 0
+  rlineto
+  stroke
+} def
+
+% ----- main ------
+
+boxfont setfont
+1 boundaspect scale
+(AliHLTTask) cw
+(AliHLTLogging) cw
+/boxwidth boxwidth marginwidth 2 mul add def
+/xspacing boxwidth distx add def
+/yspacing boxheight disty add def
+/scalefactor 
+  boxwidth cols mul distx cols 1 sub mul add
+  boxheight rows mul disty rows 1 sub mul add boundaspect mul 
+  max def
+boundx scalefactor div boundy scalefactor div scale
+
+% ----- classes -----
+
+ (AliHLTTask) 0 0 box
+ (AliHLTLogging) 0 1 box
+
+% ----- relations -----
+
+solid
+0 0 0 out
+solid
+1 0 1 in
diff --git a/HLT/PHOS/latex/classAliHLTTask.tex b/HLT/PHOS/latex/classAliHLTTask.tex
new file mode 100644 (file)
index 0000000..a89140a
--- /dev/null
@@ -0,0 +1,1311 @@
+\section{Ali\-HLTTask Class Reference}
+\label{classAliHLTTask}\index{AliHLTTask@{AliHLTTask}}
+{\tt \#include $<$Ali\-HLTTask.h$>$}
+
+Inheritance diagram for Ali\-HLTTask::\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=2cm]{classAliHLTTask}
+\end{center}
+\end{figure}
+
+
+\subsection{Detailed Description}
+A task collects all the information which is necessary to process a certain step in the HLT data processing chain.\begin{itemize}
+\item the instance of the component the task object creates and deletes the component object\item the data buffer which receives the result of the component and provides the data to other tasks/components\item a list of all dependencies\item a list of consumers\item the task object holds an external pointer to the configuration object; {\bf Note:} the configuration object must exist through the existence of the task object!!!\end{itemize}
+
+
+\begin{Desc}
+\item[Note:]This class is only used for the {\bf HLT integration into Ali\-Root}{\rm (p.\,\pageref{group__alihlt__system})}. \end{Desc}
+
+
+
+
+Definition at line 46 of file Ali\-HLTTask.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTTask} ()
+\item 
+{\bf Ali\-HLTTask} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf)
+\item 
+{\bf Ali\-HLTTask} (const {\bf Ali\-HLTTask} \&)
+\item 
+{\bf Ali\-HLTTask} \& {\bf operator=} (const {\bf Ali\-HLTTask} \&)
+\item 
+virtual {\bf $\sim$Ali\-HLTTask} ()
+\item 
+int {\bf Init} ({\bf Ali\-HLTConfiguration} $\ast$p\-Conf, {\bf Ali\-HLTComponent\-Handler} $\ast$p\-CH)
+\item 
+int {\bf Deinit} ()
+\item 
+const char $\ast$ {\bf Get\-Name} () const 
+\item 
+{\bf Ali\-HLTConfiguration} $\ast$ {\bf Get\-Conf} () const 
+\item 
+{\bf Ali\-HLTComponent} $\ast$ {\bf Get\-Component} () const 
+\item 
+{\bf Ali\-HLTTask} $\ast$ {\bf Find\-Dependency} (const char $\ast$id)
+\item 
+int {\bf Set\-Dependency} ({\bf Ali\-HLTTask} $\ast$p\-Dep)
+\item 
+int {\bf Unset\-Dependency} ({\bf Ali\-HLTTask} $\ast$p\-Dep)
+\item 
+int {\bf Check\-Dependencies} ()
+\item 
+int {\bf Depends} ({\bf Ali\-HLTTask} $\ast$p\-Task)
+\item 
+{\bf Ali\-HLTTask} $\ast$ {\bf Find\-Target} (const char $\ast$id)
+\item 
+int {\bf Set\-Target} ({\bf Ali\-HLTTask} $\ast$p\-Dep)
+\item 
+int {\bf Unset\-Target} ({\bf Ali\-HLTTask} $\ast$p\-Target)
+\item 
+int {\bf Start\-Run} ()
+\item 
+int {\bf End\-Run} ()
+\item 
+int {\bf Process\-Task} (Int\_\-t event\-No)
+\item 
+int {\bf Get\-Nof\-Matching\-Data\-Blocks} (const {\bf Ali\-HLTTask} $\ast$p\-Consumer\-Task) const 
+\item 
+int {\bf Get\-Nof\-Matching\-Data\-Types} (const {\bf Ali\-HLTTask} $\ast$p\-Consumer\-Task) const 
+\item 
+int {\bf Subscribe} (const {\bf Ali\-HLTTask} $\ast$p\-Consumer\-Task, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$array\-Block\-Desc, int i\-Array\-Size)
+\item 
+int {\bf Release} ({\bf Ali\-HLTComponent\-Block\-Data} $\ast$p\-Block\-Desc, const {\bf Ali\-HLTTask} $\ast$p\-Consumer\-Task)
+\item 
+void {\bf Print\-Status} ()
+\item 
+int {\bf Follow\-Dependency} (const char $\ast$id, TList $\ast$p\-Tgt\-List=NULL)
+\item 
+void {\bf Print\-Dependency\-Tree} (const char $\ast$id, int b\-Mode=0)
+\item 
+int {\bf Get\-Nof\-Sources} () const 
+\end{CompactItemize}
+\subsection*{Private Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Class\-Def} ({\bf Ali\-HLTTask}, 1)
+\end{CompactItemize}
+\subsection*{Private Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTConfiguration} $\ast$ {\bf fp\-Configuration}
+\item 
+{\bf Ali\-HLTComponent} $\ast$ {\bf fp\-Component}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+{\bf Ali\-HLTData\-Buffer} $\ast$ {\bf fp\-Data\-Buffer}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+TList {\bf f\-List\-Targets}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\item 
+TList {\bf f\-List\-Dependencies}
+\item 
+{\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\bf fp\-Block\-Data\-Array}
+\item 
+int {\bf f\-Block\-Data\-Array\-Size}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTTask@{Ali\-HLTTask}!AliHLTTask@{AliHLTTask}}
+\index{AliHLTTask@{AliHLTTask}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTTask::Ali\-HLTTask ()}\label{classAliHLTTask_a0}
+
+
+standard constructor \index{AliHLTTask@{Ali\-HLTTask}!AliHLTTask@{AliHLTTask}}
+\index{AliHLTTask@{AliHLTTask}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTTask::Ali\-HLTTask ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf})}\label{classAliHLTTask_a1}
+
+
+constructor \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]pointer to configuration descriptor \end{description}
+\end{Desc}
+
+
+Definition at line 436 of file Ali\-HLTConfiguration.cxx.
+
+\footnotesize\begin{verbatim}437   :
+438   fpConfiguration(pConf),
+439   fpComponent(NULL),
+440   fpDataBuffer(NULL),
+441   fListTargets(),
+442   fListDependencies(),
+443   fpBlockDataArray(NULL),
+444   fBlockDataArraySize(0)
+445 {
+446   // see header file for function documentation
+447 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!AliHLTTask@{AliHLTTask}}
+\index{AliHLTTask@{AliHLTTask}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTTask::Ali\-HLTTask (const {\bf Ali\-HLTTask} \&)}\label{classAliHLTTask_a2}
+
+
+not a valid copy constructor, defined according to effective C++ style 
+
+Definition at line 449 of file Ali\-HLTConfiguration.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}450   :
+451   TObject(),
+452   AliHLTLogging(),
+453   fpConfiguration(NULL),
+454   fpComponent(NULL),
+455   fpDataBuffer(NULL),
+456   fListTargets(),
+457   fListDependencies(),
+458   fpBlockDataArray(NULL),
+459   fBlockDataArraySize(0)
+460 {
+461   HLTFatal("copy constructor untested");
+462 }
+
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!~AliHLTTask@{$\sim$AliHLTTask}}
+\index{~AliHLTTask@{$\sim$AliHLTTask}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTTask::$\sim${\bf Ali\-HLTTask} ()\hspace{0.3cm}{\tt  [virtual]}}\label{classAliHLTTask_a4}
+
+
+destructor 
+
+Definition at line 471 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Dependencies, f\-List\-Targets, fp\-Block\-Data\-Array, fp\-Component, Unset\-Dependency(), and Unset\-Target().
+
+\footnotesize\begin{verbatim}472 {
+473   TObjLink* lnk=fListDependencies.FirstLink();
+474 
+475   while (lnk!=NULL) {
+476     AliHLTTask* pTask=(AliHLTTask*)lnk->GetObject();
+477     pTask->UnsetTarget(this);
+478     lnk=lnk->Next();
+479   }
+480   lnk=fListTargets.FirstLink();
+481 
+482   while (lnk!=NULL) {
+483     AliHLTTask* pTask=(AliHLTTask*)lnk->GetObject();
+484     pTask->UnsetDependency(this);
+485     lnk=lnk->Next();
+486   }
+487 
+488   if (fpComponent) delete fpComponent;
+489   fpComponent=NULL;
+490   if (fpBlockDataArray) delete[] fpBlockDataArray;
+491   fpBlockDataArray=NULL;
+492 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Function Documentation}
+\index{AliHLTTask@{Ali\-HLTTask}!CheckDependencies@{CheckDependencies}}
+\index{CheckDependencies@{CheckDependencies}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Check\-Dependencies ()}\label{classAliHLTTask_a13}
+
+
+Return number of unresolved dependencies. Iterate through all the configurations the task depends on and check whether a corresponding task is available in the list. \begin{Desc}
+\item[Returns:]number of unresolved dependencies \end{Desc}
+
+
+Definition at line 666 of file Ali\-HLTConfiguration.cxx.
+
+References Find\-Dependency(), fp\-Configuration, Ali\-HLTConfiguration::Get\-First\-Source(), Ali\-HLTConfiguration::Get\-Name(), and Ali\-HLTConfiguration::Get\-Next\-Source().
+
+Referenced by Ali\-HLTSystem::Insert\-Task().
+
+\footnotesize\begin{verbatim}667 {
+668   // see header file for function documentation
+669   int iResult=0;
+670   AliHLTConfiguration* pSrc=fpConfiguration->GetFirstSource();
+671   while (pSrc) {
+672     if (FindDependency(pSrc->GetName())==NULL) {
+673       //HLTDebug("dependency \"%s\" unresolved", pSrc->GetName());
+674       iResult++;
+675     }
+676     pSrc=fpConfiguration->GetNextSource();
+677   }
+678   return iResult;
+679 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!ClassDef@{ClassDef}}
+\index{ClassDef@{ClassDef}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTTask::Class\-Def ({\bf Ali\-HLTTask}, 1)\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTTask_d0}
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!Deinit@{Deinit}}
+\index{Deinit@{Deinit}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Deinit ()}\label{classAliHLTTask_a6}
+
+
+De-Initialize the task. Final cleanup after the run. The {\bf Ali\-HLTComponent::Deinit}{\rm (p.\,\pageref{classAliHLTComponent_a5})} method of the component is called. The analysis component is deleted. 
+
+Definition at line 532 of file Ali\-HLTConfiguration.cxx.
+
+References Ali\-HLTComponent::Deinit(), fp\-Component, Get\-Component(), Get\-Name(), and HLTWarning.
+
+Referenced by Ali\-HLTSystem::Deinit\-Tasks().
+
+\footnotesize\begin{verbatim}533 {
+534   // see header file for function documentation
+535   int iResult=0;
+536   AliHLTComponent* pComponent=GetComponent();
+537   fpComponent=NULL;
+538   if (pComponent) {
+539     //HLTDebug("delete component %s (%p)", pComponent->GetComponentID(), pComponent); 
+540     pComponent->Deinit();
+541     delete pComponent;
+542   } else {
+543     HLTWarning("task %s (%p) doesn't seem to be in initialized", GetName(), this);
+544   }
+545   return iResult;
+546 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!Depends@{Depends}}
+\index{Depends@{Depends}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Depends ({\bf Ali\-HLTTask} $\ast$ {\em p\-Task})}\label{classAliHLTTask_a14}
+
+
+Check whether the current task depends on the task p\-Task. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Task}]pointer to Task descriptor \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]1 the current task depends on p\-Task \par
+ 0 no dependency \par
+ neg. error code if failed \end{Desc}
+
+
+Definition at line 682 of file Ali\-HLTConfiguration.cxx.
+
+References fp\-Configuration, Get\-Name(), and Ali\-HLTConfiguration::Get\-Source().
+
+Referenced by Ali\-HLTSystem::Insert\-Task().
+
+\footnotesize\begin{verbatim}683 {
+684   // see header file for function documentation
+685   int iResult=0;
+686   if (pTask) {
+687     if (fpConfiguration) {
+688       iResult=fpConfiguration->GetSource(pTask->GetName())!=NULL;
+689       if (iResult>0) {
+690         //HLTDebug("task  \"%s\" depends on \"%s\"", GetName(), pTask->GetName());
+691       } else {
+692         //HLTDebug("task  \"%s\" independend of \"%s\"", GetName(), pTask->GetName());
+693       }
+694     } else {
+695       iResult=-EFAULT;
+696     }
+697   } else {
+698     iResult=-EINVAL;
+699   }
+700   return iResult;
+701 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!EndRun@{EndRun}}
+\index{EndRun@{EndRun}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::End\-Run ()}\label{classAliHLTTask_a19}
+
+
+Clean-up the task after event processing. The method cleans up internal structures. 
+
+Definition at line 812 of file Ali\-HLTConfiguration.cxx.
+
+References f\-Block\-Data\-Array\-Size, fp\-Block\-Data\-Array, fp\-Data\-Buffer, Get\-Name(), and HLTWarning.
+
+Referenced by Ali\-HLTSystem::Stop\-Tasks().
+
+\footnotesize\begin{verbatim}813 {
+814   // see header file for function documentation
+815   int iResult=0;
+816   if (fpBlockDataArray) {
+817     fBlockDataArraySize=0;
+818     delete [] fpBlockDataArray;
+819     fpBlockDataArray=0;
+820   } else {
+821     HLTWarning("task %s (%p) doesn't seem to be in running mode", GetName(), this);
+822   }
+823   if (fpDataBuffer) {
+824     AliHLTDataBuffer* pBuffer=fpDataBuffer;
+825     fpDataBuffer=NULL;
+826     delete pBuffer;
+827   }
+828   return iResult;
+829 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!FindDependency@{FindDependency}}
+\index{FindDependency@{FindDependency}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTTask} $\ast$ Ali\-HLTTask::Find\-Dependency (const char $\ast$ {\em id})}\label{classAliHLTTask_a10}
+
+
+Find a dependency with a certain {\em name id\/}. Searches in the list of dependencies for a task. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]the id of the {\bf CONFIGURATION}\par
+ {\bf NOTE:} the id does NOT specify a COMPONENT \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to task \end{Desc}
+
+
+Definition at line 568 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Dependencies.
+
+Referenced by Check\-Dependencies(), Print\-Status(), and Set\-Dependency().
+
+\footnotesize\begin{verbatim}569 {
+570   // see header file for function documentation
+571   AliHLTTask* pTask=NULL;
+572   if (id) {
+573     pTask=(AliHLTTask*)fListDependencies.FindObject(id);
+574   }
+575   return pTask;
+576 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!FindTarget@{FindTarget}}
+\index{FindTarget@{FindTarget}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTTask} $\ast$ Ali\-HLTTask::Find\-Target (const char $\ast$ {\em id})}\label{classAliHLTTask_a15}
+
+
+Find a target with a certain id. Tasks which depend on the current task are referred to be {\em targets\/}. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]configuration id to search for \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to task instance \end{Desc}
+
+
+Definition at line 703 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Targets.
+
+Referenced by Set\-Target().
+
+\footnotesize\begin{verbatim}704 {
+705   // see header file for function documentation
+706   AliHLTTask* pTask=NULL;
+707   if (id) {
+708     pTask=(AliHLTTask*)fListTargets.FindObject(id);
+709   }
+710   return pTask;
+711 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!FollowDependency@{FollowDependency}}
+\index{FollowDependency@{FollowDependency}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Follow\-Dependency (const char $\ast$ {\em id}, TList $\ast$ {\em p\-Tgt\-List} = {\tt NULL})}\label{classAliHLTTask_a26}
+
+
+Search task dependency list recursively to find a dependency. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]id of the task to search for \item[{\em p\-Tgt\-List}](optional) target list to receive dependency tree \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 if not found, $>$0 found in the n-th level, dependency list in the target list \end{Desc}
+
+
+Definition at line 578 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Dependencies.
+
+Referenced by Print\-Dependency\-Tree().
+
+\footnotesize\begin{verbatim}579 {
+580   // see header file for function documentation
+581   int iResult=0;
+582   if (id) {
+583     AliHLTTask* pDep=NULL;
+584     if ((pDep=(AliHLTTask*)fListDependencies.FindObject(id))!=NULL) {
+585       if (pTgtList) pTgtList->Add(pDep);
+586       iResult++;
+587     } else {
+588       TObjLink* lnk=fListDependencies.FirstLink();
+589       while (lnk && iResult==0) {
+590         pDep=(AliHLTTask*)lnk->GetObject();
+591         if (pDep) {
+592           if ((iResult=pDep->FollowDependency(id, pTgtList))>0) {
+593             if (pTgtList) pTgtList->AddFirst(pDep);
+594             iResult++;
+595           }
+596         } else {
+597           iResult=-EFAULT;
+598         }
+599         lnk=lnk->Next();
+600       }
+601     }
+602   } else {
+603     iResult=-EINVAL;
+604   }
+605   return iResult;
+606 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!GetComponent@{GetComponent}}
+\index{GetComponent@{GetComponent}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent} $\ast$ Ali\-HLTTask::Get\-Component () const}\label{classAliHLTTask_a9}
+
+
+Return pointer to component, which the task internally holds. {\bf Never delete this object!!!} \begin{Desc}
+\item[Returns:]instance of the component \end{Desc}
+
+
+Definition at line 562 of file Ali\-HLTConfiguration.cxx.
+
+Referenced by Deinit(), Get\-Nof\-Matching\-Data\-Blocks(), Get\-Nof\-Matching\-Data\-Types(), Ali\-HLTSystem::Init\-Benchmarking(), Print\-Status(), Process\-Task(), Release(), Start\-Run(), and Subscribe().
+
+\footnotesize\begin{verbatim}563 {
+564   // see header file for function documentation
+565   return fpComponent;
+566 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!GetConf@{GetConf}}
+\index{GetConf@{GetConf}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration} $\ast$ Ali\-HLTTask::Get\-Conf () const}\label{classAliHLTTask_a8}
+
+
+Return pointer to configuration. The tasks holds internally the configuration object. \begin{Desc}
+\item[Returns:]pointer to configuration \end{Desc}
+
+
+Definition at line 556 of file Ali\-HLTConfiguration.cxx.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List().
+
+\footnotesize\begin{verbatim}557 {
+558   // see header file for function documentation
+559   return fpConfiguration;
+560 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!GetName@{GetName}}
+\index{GetName@{GetName}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ali\-HLTTask::Get\-Name () const}\label{classAliHLTTask_a7}
+
+
+Get the name of the object. This is an overridden TObject function in order to return the configuration name instead of the class name. Enables use of TList standard functions. \begin{Desc}
+\item[Returns:]name of the configuration \end{Desc}
+
+
+Definition at line 548 of file Ali\-HLTConfiguration.cxx.
+
+References fp\-Configuration, and Ali\-HLTConfiguration::Get\-Name().
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List(), Deinit(), Depends(), End\-Run(), Init(), Ali\-HLTSystem::Insert\-Task(), Print\-Dependency\-Tree(), Print\-Status(), Process\-Task(), Ali\-HLTSystem::Process\-Tasks(), Set\-Dependency(), Set\-Target(), and Start\-Run().
+
+\footnotesize\begin{verbatim}549 {
+550   // see header file for function documentation
+551   if (fpConfiguration)
+552     return fpConfiguration->GetName();
+553   return TObject::GetName();
+554 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!GetNofMatchingDataBlocks@{GetNofMatchingDataBlocks}}
+\index{GetNofMatchingDataBlocks@{GetNofMatchingDataBlocks}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Get\-Nof\-Matching\-Data\-Blocks (const {\bf Ali\-HLTTask} $\ast$ {\em p\-Consumer\-Task}) const}\label{classAliHLTTask_a21}
+
+
+Determine the number of matching data block between the component and the data buffer of a consumer component. It checks which data types from the list of input data types of the consumer component can be provided by data blocks of the current component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer\-Task}]the task which subscribes to the data \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]number of matching data blocks \end{Desc}
+
+
+Definition at line 959 of file Ali\-HLTConfiguration.cxx.
+
+References Ali\-HLTData\-Buffer::Find\-Matching\-Data\-Blocks(), fp\-Data\-Buffer, Get\-Component(), and HLTFatal.
+
+Referenced by Process\-Task().
+
+\footnotesize\begin{verbatim}960 {
+961   // see header file for function documentation
+962   int iResult=0;
+963   if (pConsumerTask) {
+964     if (fpDataBuffer) {
+965       iResult=fpDataBuffer->FindMatchingDataBlocks(pConsumerTask->GetComponent(), NULL);
+966     } else {
+967       HLTFatal("internal data buffer missing");
+968       iResult=-EFAULT;
+969     }
+970   } else {
+971     iResult=-EINVAL;
+972   }
+973   return iResult;
+974 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!GetNofMatchingDataTypes@{GetNofMatchingDataTypes}}
+\index{GetNofMatchingDataTypes@{GetNofMatchingDataTypes}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Get\-Nof\-Matching\-Data\-Types (const {\bf Ali\-HLTTask} $\ast$ {\em p\-Consumer\-Task}) const}\label{classAliHLTTask_a22}
+
+
+Determine the number of matching data types between the component and a consumer component. It checks which data types from the list of input data types of the consumer component can be provided by the current component. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer\-Task}]the task which subscribes to the data \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]number of matching data types \end{Desc}
+
+
+Definition at line 976 of file Ali\-HLTConfiguration.cxx.
+
+References Ali\-HLTComponent::Find\-Matching\-Data\-Types(), Get\-Component(), HLTError, and HLTFatal.
+
+Referenced by Start\-Run().
+
+\footnotesize\begin{verbatim}977 {
+978   // see header file for function documentation
+979   int iResult=0;
+980   if (pConsumerTask) {
+981     AliHLTComponent* pComponent=GetComponent();
+982     if (!pComponent) {
+983       // init ?
+984       HLTError("component not initialized");
+985       iResult=-EFAULT;
+986     }
+987     if (pComponent) {
+988       iResult=pComponent->FindMatchingDataTypes(pConsumerTask->GetComponent(), NULL);
+989     } else {
+990       HLTFatal("task initialization failed");
+991       iResult=-EFAULT;
+992     }
+993   } else {
+994     iResult=-EINVAL;
+995   }
+996   return iResult;
+997 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!GetNofSources@{GetNofSources}}
+\index{GetNofSources@{GetNofSources}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Get\-Nof\-Sources () const\hspace{0.3cm}{\tt  [inline]}}\label{classAliHLTTask_a28}
+
+
+Get number of source tasks. \begin{Desc}
+\item[Returns:]number of source tasks \end{Desc}
+
+
+Definition at line 269 of file Ali\-HLTTask.h.
+
+References f\-List\-Dependencies.
+
+\footnotesize\begin{verbatim}269 {return fListDependencies.GetSize();}
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!Init@{Init}}
+\index{Init@{Init}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Init ({\bf Ali\-HLTConfiguration} $\ast$ {\em p\-Conf}, {\bf Ali\-HLTComponent\-Handler} $\ast$ {\em p\-CH})}\label{classAliHLTTask_a5}
+
+
+Initialize the task. The task is initialized with a configuration descriptor. It needs a component handler instance to create the analysis component. The component is created and initialized. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Conf}]pointer to configuration descriptor, can be NULL if it was already provided to the constructor \item[{\em p\-CH}]the HLT component handler \end{description}
+\end{Desc}
+
+
+Definition at line 494 of file Ali\-HLTConfiguration.cxx.
+
+References Ali\-HLTComponent\-Handler::Create\-Component(), fp\-Component, fp\-Configuration, Ali\-HLTConfiguration::Get\-Arguments(), Ali\-HLTConfiguration::Get\-Component\-ID(), Ali\-HLTConfiguration::Get\-Name(), Get\-Name(), HLTError, and HLTWarning.
+
+Referenced by Ali\-HLTSystem::Init\-Tasks().
+
+\footnotesize\begin{verbatim}495 {
+496   // see header file for function documentation
+497   int iResult=0;
+498   if (fpConfiguration!=NULL && pConf!=NULL && fpConfiguration!=pConf) {
+499     HLTWarning("overriding existing reference to configuration object %p (%s) by %p",
+500                fpConfiguration, GetName(), pConf);
+501   }
+502   if (pConf!=NULL) fpConfiguration=pConf;
+503   if (fpConfiguration) {
+504     if (pCH) {
+505       int argc=0;
+506       const char** argv=NULL;
+507       if ((iResult=fpConfiguration->GetArguments(&argv))>=0) {
+508         argc=iResult; // just to make it clear
+509         // TODO: we have to think about the optional environment parameter,
+510         // currently just set to NULL. 
+511         iResult=pCH->CreateComponent(fpConfiguration->GetComponentID(), NULL, argc, argv, fpComponent);
+512         if (fpComponent || iResult<=0) {
+513           //HLTDebug("component %s (%p) created", fpComponent->GetComponentID(), fpComponent); 
+514         } else {
+515           HLTError("can not find component \"%s\" (%d)", fpConfiguration->GetComponentID(), iResult);
+516         }
+517       } else {
+518         HLTError("can not get argument list for configuration %s (%s)", fpConfiguration->GetName(), fpConfiguration->GetComponentID());
+519         iResult=-EINVAL;
+520       }
+521     } else {
+522       HLTError("component handler instance needed for task initialization");
+523       iResult=-EINVAL;
+524     }
+525   } else {
+526     HLTError("configuration object instance needed for task initialization");
+527     iResult=-EINVAL;
+528   }
+529   return iResult;
+530 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!operator=@{operator=}}
+\index{operator=@{operator=}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTTask} \& Ali\-HLTTask::operator= (const {\bf Ali\-HLTTask} \&)}\label{classAliHLTTask_a3}
+
+
+not a valid assignment op, but defined according to effective C++ style 
+
+Definition at line 464 of file Ali\-HLTConfiguration.cxx.
+
+References HLTFatal.
+
+\footnotesize\begin{verbatim}465 { 
+466   // see header file for function documentation
+467   HLTFatal("assignment operator untested");
+468   return *this;
+469 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!PrintDependencyTree@{PrintDependencyTree}}
+\index{PrintDependencyTree@{PrintDependencyTree}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTTask::Print\-Dependency\-Tree (const char $\ast$ {\em id}, int {\em b\-Mode} = {\tt 0})}\label{classAliHLTTask_a27}
+
+
+Print the tree for a certain dependency either from the task or configuration list. Each task posseses two \char`\"{}link lists\char`\"{}: The configurations are the origin of the task list. In case of an error during the built of the task list, the dependencies for the task list might be incomplete. In this case the configurations can give infomation on the error reason. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em id}]id of the dependency to search for \item[{\em b\-Mode}]0 (default) from task dependency list, \par
+ 1 from configuration list \end{description}
+\end{Desc}
+
+
+Definition at line 608 of file Ali\-HLTConfiguration.cxx.
+
+References Follow\-Dependency(), Ali\-HLTConfiguration::Follow\-Dependency(), fp\-Configuration, Get\-Name(), HLTLog\-Keyword, and HLTMessage.
+
+Referenced by Ali\-HLTSystem::Build\-Task\-List().
+
+\footnotesize\begin{verbatim}609 {
+610   // see header file for function documentation
+611   HLTLogKeyword("task dependencies");
+612   int iResult=0;
+613   TList tgtList;
+614   if (bFromConfiguration) {
+615     if (fpConfiguration)
+616       iResult=fpConfiguration->FollowDependency(id, &tgtList);
+617     else
+618       iResult=-EFAULT;
+619   } else
+620     iResult=FollowDependency(id, &tgtList);
+621   if (iResult>0) {
+622     HLTMessage("     task \"%s\": dependency level %d ", GetName(), iResult);
+623     TObjLink* lnk=tgtList.FirstLink();
+624     int i=iResult;
+625     char* pSpace = new char[iResult+1];
+626     if (pSpace) {
+627       memset(pSpace, 32, iResult);
+628       pSpace[i]=0;
+629       while (lnk) {
+630         TObject* obj=lnk->GetObject();
+631         HLTMessage("     %s^-- %s ", &pSpace[i--], obj->GetName());
+632         lnk=lnk->Next();
+633       }
+634       delete [] pSpace;
+635     } else {
+636       iResult=-ENOMEM;
+637     }
+638   }
+639 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!PrintStatus@{PrintStatus}}
+\index{PrintStatus@{PrintStatus}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLTTask::Print\-Status ()}\label{classAliHLTTask_a25}
+
+
+Print the status of the task with component, dependencies and targets. 
+
+Definition at line 1033 of file Ali\-HLTConfiguration.cxx.
+
+References Find\-Dependency(), f\-List\-Targets, fp\-Configuration, Get\-Component(), Ali\-HLTComponent::Get\-Component\-ID(), Ali\-HLTConfiguration::Get\-First\-Source(), Get\-Name(), Ali\-HLTConfiguration::Get\-Name(), Ali\-HLTConfiguration::Get\-Next\-Source(), HLTLog\-Keyword, and HLTMessage.
+
+Referenced by Ali\-HLTSystem::Print\-Task\-List().
+
+\footnotesize\begin{verbatim}1034 {
+1035   // see header file for function documentation
+1036   HLTLogKeyword("task properties");
+1037   AliHLTComponent* pComponent=GetComponent();
+1038   if (pComponent) {
+1039     HLTMessage("     component: %s (%p)", pComponent->GetComponentID(), pComponent);
+1040   } else {
+1041     HLTMessage("     no component set!");
+1042   }
+1043   if (fpConfiguration) {
+1044     AliHLTConfiguration* pSrc=fpConfiguration->GetFirstSource();
+1045     while (pSrc) {
+1046       const char* pQualifier="unresolved";
+1047       if (FindDependency(pSrc->GetName()))
+1048         pQualifier="resolved";
+1049       HLTMessage("     source: %s (%s)", pSrc->GetName(), pQualifier);
+1050       pSrc=fpConfiguration->GetNextSource();
+1051     }
+1052     TObjLink* lnk = fListTargets.FirstLink();
+1053     while (lnk) {
+1054       TObject *obj = lnk->GetObject();
+1055       HLTMessage("     target: %s", obj->GetName());
+1056       lnk = lnk->Next();
+1057     }
+1058   } else {
+1059     HLTMessage("     task \"%s\" not initialized", GetName());
+1060   }
+1061 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!ProcessTask@{ProcessTask}}
+\index{ProcessTask@{ProcessTask}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Process\-Task (Int\_\-t {\em event\-No})}\label{classAliHLTTask_a20}
+
+
+Process the task. If all dependencies are resolved the tasks subscribes to the data of all source tasks, builds the block descriptor and calls the {\bf Ali\-HLTComponent::Process\-Event}{\rm (p.\,\pageref{classAliHLTComponent_a6})} method of the component, after processing, the data blocks are released. \par
+ The {\bf Start\-Run}{\rm (p.\,\pageref{classAliHLTTask_a18})} method must be called before. 
+
+Definition at line 831 of file Ali\-HLTConfiguration.cxx.
+
+References Ali\-HLTUInt32\_\-t, Ali\-HLTUInt8\_\-t, Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt, f\-Block\-Data\-Array\-Size, Ali\-HLTComponent\-Event\-Data::f\-Event\-ID, Ali\-HLTComponent::Fill\-Event\-Data(), f\-List\-Dependencies, fp\-Block\-Data\-Array, fp\-Component, fp\-Data\-Buffer, Ali\-HLTComponent\-Block\-Data::f\-Size, Get\-Component(), Ali\-HLTComponent::Get\-Component\-ID(), Ali\-HLTComponent::Get\-Component\-Type(), Get\-Name(), Get\-Nof\-Matching\-Data\-Blocks(), Ali\-HLTComponent::Get\-Output\-Data\-Size(), Ali\-HLTData\-Buffer::Get\-Target\-Buffer(), HLTDebug, HLTError, HLTFatal, Ali\-HLTComponent::Process\-Event(), Release(), Ali\-HLTData\-Buffer::Reset(), Ali\-HLTData\-Buffer::Set\-Segments(), and Subscribe().
+
+Referenced by Ali\-HLTSystem::Process\-Tasks().
+
+\footnotesize\begin{verbatim}832 {
+833   // see header file for function documentation
+834   int iResult=0;
+835   AliHLTComponent* pComponent=GetComponent();
+836   if (pComponent && fpDataBuffer) {
+837     HLTDebug("Processing task %s (%p) fpDataBuffer %p", GetName(), this, fpDataBuffer);
+838     fpDataBuffer->Reset();
+839     int iSourceDataBlock=0;
+840     int iInputDataVolume=0;
+841 
+842     int iNofInputDataBlocks=0;
+843     /* TODO: the assumption of only one output data type per component is the current constraint
+844      * later it should be checked how many output blocks of the source component match the input
+845      * data types of the consumer component (GetNofMatchingDataBlocks). If one assumes that a
+846      * certain output block is always been produced, the initialization could be done in the
+847      * StartRun. Otherwise the fpBlockDataArray has to be adapted each time.
+848      */
+849     iNofInputDataBlocks=fListDependencies.GetSize(); // one block per source
+850     // is not been used since the allocation was done in StartRun, but check the size
+851     if (iNofInputDataBlocks>fBlockDataArraySize) {
+852       HLTError("block data array too small");
+853     }
+854 
+855     AliHLTTask* pSrcTask=NULL;
+856     TList subscribedTaskList;
+857     TObjLink* lnk=fListDependencies.FirstLink();
+858 
+859     // subscribe to all source tasks
+860     while (lnk && iResult>=0) {
+861       pSrcTask=(AliHLTTask*)lnk->GetObject();
+862       if (pSrcTask) {
+863         int iMatchingDB=pSrcTask->GetNofMatchingDataBlocks(this);
+864         if (iMatchingDB<=fBlockDataArraySize-iSourceDataBlock) {
+865           if (fpBlockDataArray) {
+866           if ((iResult=pSrcTask->Subscribe(this, &fpBlockDataArray[iSourceDataBlock],fBlockDataArraySize-iSourceDataBlock))>0) {
+867             for (int i=0; i<iResult; i++) {
+868               iInputDataVolume+=fpBlockDataArray[i+iSourceDataBlock].fSize;
+869               // put the source task as many times into the list as it provides data blocks
+870               // makes the bookkeeping for the data release easier
+871               subscribedTaskList.Add(pSrcTask);
+872             }
+873             iSourceDataBlock+=iResult;
+874             HLTDebug("Task %s (%p) successfully subscribed to %d data block(s) of task %s (%p)", GetName(), this, iResult, pSrcTask->GetName(), pSrcTask);
+875             iResult=0;
+876           } else {
+877             HLTError("Task %s (%p): subscription to task %s (%p) failed with error %d", GetName(), this, pSrcTask->GetName(), pSrcTask, iResult);
+878             iResult=-EFAULT;
+879           }
+880           } else {
+881             HLTFatal("Task %s (%p): BlockData array not allocated", GetName(), this);
+882             iResult=-EFAULT;
+883           }
+884         } else {
+885           HLTFatal("Task %s (%p): too little space in data block array for subscription to task %s (%p)", GetName(), this, pSrcTask->GetName(), pSrcTask);
+886           HLTDebug("#data types=%d, array size=%d, current index=%d", iMatchingDB, fBlockDataArraySize, iSourceDataBlock);
+887           iResult=-EFAULT;
+888         }
+889       } else {
+890         HLTFatal("fatal internal error in ROOT list handling");
+891         iResult=-EFAULT;
+892       }
+893       lnk=lnk->Next();
+894     }
+895 
+896     // process the event
+897     if (iResult>=0) {
+898       long unsigned int iConstBase=0;
+899       double fInputMultiplier=0;
+900       if (pComponent->GetComponentType()!=AliHLTComponent::kSink)
+901         pComponent->GetOutputDataSize(iConstBase, fInputMultiplier);
+902       int iOutputDataSize=int(fInputMultiplier*iInputDataVolume) + iConstBase;
+903       //HLTDebug("task %s: reqired output size %d", GetName(), iOutputDataSize);
+904       AliHLTUInt8_t* pTgtBuffer=NULL;
+905       if (iOutputDataSize>0) pTgtBuffer=fpDataBuffer->GetTargetBuffer(iOutputDataSize);
+906       //HLTDebug("provided raw buffer %p", pTgtBuffer);
+907       AliHLTComponentEventData evtData;
+908       AliHLTComponent::FillEventData(evtData);
+909       evtData.fEventID=(AliHLTEventID_t)eventNo;
+910       evtData.fBlockCnt=iSourceDataBlock;
+911       AliHLTComponentTriggerData trigData;
+912       AliHLTUInt32_t size=iOutputDataSize;
+913       AliHLTUInt32_t outputBlockCnt=0;
+914       AliHLTComponentBlockData* outputBlocks=NULL;
+915       AliHLTComponentEventDoneData* edd;
+916       if (pTgtBuffer!=NULL || iOutputDataSize==0) {
+917         iResult=pComponent->ProcessEvent(evtData, fpBlockDataArray, trigData, pTgtBuffer, size, outputBlockCnt, outputBlocks, edd);
+918         HLTDebug("task %s: component %s ProcessEvent finnished (%d): size=%d blocks=%d", GetName(), pComponent->GetComponentID(), iResult, size, outputBlockCnt);
+919         if (iResult>=0 && pTgtBuffer) {
+920           iResult=fpDataBuffer->SetSegments(pTgtBuffer, outputBlocks, outputBlockCnt);
+921           delete [] outputBlocks; outputBlocks=NULL; outputBlockCnt=0;
+922         }
+923       } else {
+924         HLTError("task %s: no target buffer available", GetName());
+925         iResult=-EFAULT;
+926       }
+927     }
+928 
+929     // now release all buffers which we have subscribed to
+930     iSourceDataBlock=0;
+931     lnk=subscribedTaskList.FirstLink();
+932     while (lnk) {
+933       pSrcTask=(AliHLTTask*)lnk->GetObject();
+934       if (pSrcTask) {
+935         int iTempRes=0;
+936         if ((iTempRes=pSrcTask->Release(&fpBlockDataArray[iSourceDataBlock], this))>=0) {
+937           HLTDebug("Task %s (%p) successfully released task %s (%p)", GetName(), this, pSrcTask->GetName(), pSrcTask);
+938         } else {
+939           HLTError("Task %s (%p): realease of task %s (%p) failed with error %d", GetName(), this, pSrcTask->GetName(), pSrcTask, iTempRes);
+940         }
+941       } else {
+942         HLTFatal("task %s (%p): internal error in ROOT list handling", GetName(), this);
+943         if (iResult>=0) iResult=-EFAULT;
+944       }
+945       subscribedTaskList.Remove(lnk);
+946       lnk=subscribedTaskList.FirstLink();
+947       iSourceDataBlock++;
+948     }
+949     if (subscribedTaskList.GetSize()>0) {
+950       HLTError("task %s (%p): could not release all data buffers", GetName(), this);
+951     }
+952   } else {
+953     HLTError("task %s (%p): internal failure (not initialized component %p, data buffer %p)", GetName(), this, fpComponent, fpDataBuffer);
+954     iResult=-EFAULT;
+955   }
+956   return iResult;
+957 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!Release@{Release}}
+\index{Release@{Release}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Release ({\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em p\-Block\-Desc}, const {\bf Ali\-HLTTask} $\ast$ {\em p\-Consumer\-Task})}\label{classAliHLTTask_a24}
+
+
+Release a block descriptor. Notification from consumer task. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Block\-Desc}]descriptor of the data segment \item[{\em p\-Consumer\-Task}]the task which subscribed to the data \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]: $>$0 if success, negative error code if failed \end{Desc}
+
+
+Definition at line 1016 of file Ali\-HLTConfiguration.cxx.
+
+References fp\-Data\-Buffer, Get\-Component(), HLTFatal, and Ali\-HLTData\-Buffer::Release().
+
+Referenced by Process\-Task().
+
+\footnotesize\begin{verbatim}1017 {
+1018   // see header file for function documentation
+1019   int iResult=0;
+1020   if (pConsumerTask && pBlockDesc) {
+1021     if (fpDataBuffer) {
+1022       iResult=fpDataBuffer->Release(pBlockDesc, pConsumerTask->GetComponent());
+1023     } else {
+1024       HLTFatal("internal data buffer missing");
+1025       iResult=-EFAULT;
+1026     }
+1027   } else {
+1028     iResult=-EINVAL;
+1029   }
+1030   return iResult;
+1031 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!SetDependency@{SetDependency}}
+\index{SetDependency@{SetDependency}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Set\-Dependency ({\bf Ali\-HLTTask} $\ast$ {\em p\-Dep})}\label{classAliHLTTask_a11}
+
+
+Add a dependency for the task. The task maintains a list of other tasks it depends on. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Dep}]pointer to a task descriptor \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]0 if suceeded, neg error code if failed \par
+ -EEXIST : the dependencie exists already \end{Desc}
+
+
+Definition at line 641 of file Ali\-HLTConfiguration.cxx.
+
+References Find\-Dependency(), f\-List\-Dependencies, and Get\-Name().
+
+Referenced by Ali\-HLTSystem::Insert\-Task().
+
+\footnotesize\begin{verbatim}642 {
+643   // see header file for function documentation
+644   int iResult=0;
+645   if (pDep) {
+646     if (FindDependency(pDep->GetName())==NULL) {
+647       fListDependencies.Add(pDep);
+648     } else {
+649       iResult=-EEXIST;
+650     }
+651   } else {
+652     iResult=-EINVAL;
+653   }
+654   return iResult;
+655 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!SetTarget@{SetTarget}}
+\index{SetTarget@{SetTarget}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Set\-Target ({\bf Ali\-HLTTask} $\ast$ {\em p\-Dep})}\label{classAliHLTTask_a16}
+
+
+Insert task into target list. The target list specifies all the tasks which depend on the current task. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Dep}]pointer task object \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]$>$=0 if succeeded, neg. error code if failed \end{Desc}
+
+
+Definition at line 713 of file Ali\-HLTConfiguration.cxx.
+
+References Find\-Target(), f\-List\-Targets, and Get\-Name().
+
+Referenced by Ali\-HLTSystem::Insert\-Task().
+
+\footnotesize\begin{verbatim}714 {
+715   // see header file for function documentation
+716   int iResult=0;
+717   if (pTgt) {
+718     if (FindTarget(pTgt->GetName())==NULL) {
+719       fListTargets.Add(pTgt);
+720     } else {
+721       iResult=-EEXIST;
+722     }
+723   } else {
+724     iResult=-EINVAL;
+725   }
+726   return iResult;
+727 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!StartRun@{StartRun}}
+\index{StartRun@{StartRun}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Start\-Run ()}\label{classAliHLTTask_a18}
+
+
+Prepare the task for event processing. The method initializes the Data Buffer and calls the {\bf Ali\-HLTComponent::Init}{\rm (p.\,\pageref{classAliHLTComponent_a4})} method of the component.\par
+ The {\bf Process\-Task}{\rm (p.\,\pageref{classAliHLTTask_a20})} method can be called an arbitrary number of times as soon as the task is in {\em running\/} mode. 
+
+Definition at line 735 of file Ali\-HLTConfiguration.cxx.
+
+References f\-Block\-Data\-Array\-Size, f\-List\-Dependencies, f\-List\-Targets, fp\-Block\-Data\-Array, fp\-Data\-Buffer, Get\-Component(), Get\-Name(), Get\-Nof\-Matching\-Data\-Types(), HLTDebug, HLTError, HLTFatal, HLTWarning, and Ali\-HLTData\-Buffer::Set\-Consumer().
+
+Referenced by Ali\-HLTSystem::Start\-Tasks().
+
+\footnotesize\begin{verbatim}736 {
+737   // see header file for function documentation
+738   int iResult=0;
+739   int iNofInputDataBlocks=0;
+740   AliHLTComponent* pComponent=GetComponent();
+741   if (pComponent) {
+742     // determine the number of input data blocks provided from the source tasks
+743     TObjLink* lnk=fListDependencies.FirstLink();
+744     while (lnk && iResult>=0) {
+745       AliHLTTask* pSrcTask=(AliHLTTask*)lnk->GetObject();
+746       if (pSrcTask) {
+747         if ((iResult=pSrcTask->GetNofMatchingDataTypes(this))>0) {
+748           iNofInputDataBlocks+=iResult;
+749         } else if (iResult==0) {
+750           HLTWarning("source task %s (%p) does not provide any matching data type for task %s (%p)", pSrcTask->GetName(), pSrcTask, GetName(), this);
+751         } else {
+752           HLTError("task %s (%p): error getting matching data types for source task %s (%p)", GetName(), this, pSrcTask->GetName(), pSrcTask);
+753           iResult=-EFAULT;
+754         }
+755       }
+756       lnk=lnk->Next();
+757     }
+758     if (iResult>=0) {
+759       if (fpBlockDataArray) {
+760         HLTWarning("block data array for task %s (%p) was not cleaned", GetName(), this);
+761         delete [] fpBlockDataArray;
+762         fpBlockDataArray=NULL;
+763         fBlockDataArraySize=0;
+764       }
+765 
+766       // component init
+767       // the initialization of the component is done by the ComponentHandler after creation
+768       // of the component.
+769       //iResult=Init( AliHLTComponentEnvironment* environ, void* environ_param, int argc, const char** argv );
+770 
+771       // allocate internal task variables for bookkeeping aso.
+772       // we allocate the BlockData array with at least one member
+773       if (iNofInputDataBlocks==0) iNofInputDataBlocks=1;
+774       fpBlockDataArray=new AliHLTComponentBlockData[iNofInputDataBlocks];
+775       if (fpBlockDataArray) {
+776         fBlockDataArraySize=iNofInputDataBlocks;
+777       } else {
+778         HLTError("memory allocation failed");
+779         iResult=-ENOMEM;
+780       }
+781 
+782       // allocate the data buffer, which controls the output buffer and subscriptions
+783       if (iResult>=0) {
+784         fpDataBuffer=new AliHLTDataBuffer;
+785         if (fpDataBuffer!=NULL) {
+786           HLTDebug("created data buffer %p for task %s (%p)", fpDataBuffer, GetName(), this);
+787           TObjLink* lnk=fListTargets.FirstLink();
+788           while (lnk && iResult>=0) {
+789             AliHLTTask* pTgtTask=(AliHLTTask*)lnk->GetObject();
+790             if (pTgtTask) {
+791               if ((iResult=fpDataBuffer->SetConsumer(pTgtTask->GetComponent()))>=0) {
+792               }
+793             } else {
+794               break;
+795               iResult=-EFAULT;
+796             }
+797             lnk=lnk->Next();
+798           }
+799         } else {
+800           HLTFatal("can not create data buffer object, memory allocation failed");
+801           iResult=-ENOMEM;
+802         }
+803       }
+804     }
+805   } else {
+806     HLTError("task %s (%p) does not have a component", GetName(), this);
+807     iResult=-EFAULT;
+808   }
+809   return iResult;
+810 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!Subscribe@{Subscribe}}
+\index{Subscribe@{Subscribe}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Subscribe (const {\bf Ali\-HLTTask} $\ast$ {\em p\-Consumer\-Task}, {\bf Ali\-HLTComponent\-Block\-Data} $\ast$ {\em array\-Block\-Desc}, int {\em i\-Array\-Size})}\label{classAliHLTTask_a23}
+
+
+Subscribe to the data of a source task. The function prepares the block descriptors for subsequent use with the {\bf Ali\-HLTComponent::Process\-Event}{\rm (p.\,\pageref{classAliHLTComponent_a6})} method, the method prepares all block descriptors which match the input data type of the consumer the function returns the number of blocks which would be prepared in case the target array is big enough. \begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em p\-Consumer\-Task}]the task which subscribes to the data \item[{\em array\-Block\-Desc}]pointer to block descriptor to be filled \item[{\em i\-Array\-Size}]size of the block descriptor array \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]number of matching data blocks, negative error code if failed \end{Desc}
+
+
+Definition at line 999 of file Ali\-HLTConfiguration.cxx.
+
+References fp\-Data\-Buffer, Get\-Component(), HLTFatal, and Ali\-HLTData\-Buffer::Subscribe().
+
+Referenced by Process\-Task().
+
+\footnotesize\begin{verbatim}1000 {
+1001   // see header file for function documentation
+1002   int iResult=0;
+1003   if (pConsumerTask) {
+1004     if (fpDataBuffer) {
+1005       iResult=fpDataBuffer->Subscribe(pConsumerTask->GetComponent(), pBlockDesc, iArraySize);
+1006     } else {
+1007       HLTFatal("internal data buffer missing");
+1008       iResult=-EFAULT;
+1009     }
+1010   } else {
+1011     iResult=-EINVAL;
+1012   }
+1013   return iResult;
+1014 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!UnsetDependency@{UnsetDependency}}
+\index{UnsetDependency@{UnsetDependency}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Unset\-Dependency ({\bf Ali\-HLTTask} $\ast$ {\em p\-Dep})}\label{classAliHLTTask_a12}
+
+
+Clear a dependency. The ROOT TList touches the object which is in the list, even though it shouldn't care about. Thats why all lists have to be cleared before objects are deleted. 
+
+Definition at line 657 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Dependencies, fp\-Configuration, and Ali\-HLTConfiguration::Invalidate\-Sources().
+
+Referenced by $\sim$Ali\-HLTTask().
+
+\footnotesize\begin{verbatim}658 {
+659   fListDependencies.Remove(pDep);
+660   if (fpConfiguration) {
+661     fpConfiguration->InvalidateSources();
+662   }
+663   return 0;
+664 }
+\end{verbatim}\normalsize 
+
+
+\index{AliHLTTask@{Ali\-HLTTask}!UnsetTarget@{UnsetTarget}}
+\index{UnsetTarget@{UnsetTarget}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLTTask::Unset\-Target ({\bf Ali\-HLTTask} $\ast$ {\em p\-Target})}\label{classAliHLTTask_a17}
+
+
+Clear a target. The ROOT TList touches the object which is in the list, even though it shouldn't care about. Thats why all lists have to be cleared before objects are deleted. 
+
+Definition at line 729 of file Ali\-HLTConfiguration.cxx.
+
+References f\-List\-Targets.
+
+Referenced by $\sim$Ali\-HLTTask().
+
+\footnotesize\begin{verbatim}730 {
+731   fListTargets.Remove(pTarget);
+732   return 0;
+733 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTTask@{Ali\-HLTTask}!fBlockDataArraySize@{fBlockDataArraySize}}
+\index{fBlockDataArraySize@{fBlockDataArraySize}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int {\bf Ali\-HLTTask::f\-Block\-Data\-Array\-Size}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTTask_r6}
+
+
+transient 
+
+size of the block data array 
+
+Definition at line 290 of file Ali\-HLTTask.h.
+
+Referenced by End\-Run(), Process\-Task(), and Start\-Run().\index{AliHLTTask@{Ali\-HLTTask}!fListDependencies@{fListDependencies}}
+\index{fListDependencies@{fListDependencies}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TList {\bf Ali\-HLTTask::f\-List\-Dependencies}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTTask_r4}
+
+
+the list of sources (tasks upon which the current one depends) 
+
+Definition at line 281 of file Ali\-HLTTask.h.
+
+Referenced by Find\-Dependency(), Follow\-Dependency(), Get\-Nof\-Sources(), Process\-Task(), Set\-Dependency(), Start\-Run(), Unset\-Dependency(), and $\sim$Ali\-HLTTask().\index{AliHLTTask@{Ali\-HLTTask}!fListTargets@{fListTargets}}
+\index{fListTargets@{fListTargets}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}TList {\bf Ali\-HLTTask::f\-List\-Targets}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTTask_r3}
+
+
+transient 
+
+the list of targets (tasks which depend upon the current one) 
+
+Definition at line 279 of file Ali\-HLTTask.h.
+
+Referenced by Find\-Target(), Print\-Status(), Set\-Target(), Start\-Run(), Unset\-Target(), and $\sim$Ali\-HLTTask().\index{AliHLTTask@{Ali\-HLTTask}!fpBlockDataArray@{fpBlockDataArray}}
+\index{fpBlockDataArray@{fpBlockDataArray}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Block\-Data}$\ast$ {\bf Ali\-HLTTask::fp\-Block\-Data\-Array}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTTask_r5}
+
+
+block data array to be passed as argument to the {\bf Ali\-HLTComponent::Process\-Event}{\rm (p.\,\pageref{classAliHLTComponent_a6})} method. Filled through subscription to source tasks ({\bf Subscribe}{\rm (p.\,\pageref{classAliHLTTask_a23})}). 
+
+Definition at line 288 of file Ali\-HLTTask.h.
+
+Referenced by End\-Run(), Process\-Task(), Start\-Run(), and $\sim$Ali\-HLTTask().\index{AliHLTTask@{Ali\-HLTTask}!fpComponent@{fpComponent}}
+\index{fpComponent@{fpComponent}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent}$\ast$ {\bf Ali\-HLTTask::fp\-Component}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTTask_r1}
+
+
+transient 
+
+the component described by this task (created and deleted internally) 
+
+Definition at line 275 of file Ali\-HLTTask.h.
+
+Referenced by Deinit(), Init(), Process\-Task(), and $\sim$Ali\-HLTTask().\index{AliHLTTask@{Ali\-HLTTask}!fpConfiguration@{fpConfiguration}}
+\index{fpConfiguration@{fpConfiguration}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTConfiguration}$\ast$ {\bf Ali\-HLTTask::fp\-Configuration}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTTask_r0}
+
+
+the configuration descriptor (external pointer) 
+
+Definition at line 273 of file Ali\-HLTTask.h.
+
+Referenced by Check\-Dependencies(), Depends(), Get\-Name(), Init(), Print\-Dependency\-Tree(), Print\-Status(), and Unset\-Dependency().\index{AliHLTTask@{Ali\-HLTTask}!fpDataBuffer@{fpDataBuffer}}
+\index{fpDataBuffer@{fpDataBuffer}!AliHLTTask@{Ali\-HLTTask}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTData\-Buffer}$\ast$ {\bf Ali\-HLTTask::fp\-Data\-Buffer}\hspace{0.3cm}{\tt  [private]}}\label{classAliHLTTask_r2}
+
+
+transient 
+
+the data buffer for the component processing 
+
+Definition at line 277 of file Ali\-HLTTask.h.
+
+Referenced by End\-Run(), Get\-Nof\-Matching\-Data\-Blocks(), Process\-Task(), Release(), Start\-Run(), and Subscribe().
+
+The documentation for this class was generated from the following files:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTTask.h}\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTConfiguration.cxx}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/dir_000000.tex b/HLT/PHOS/latex/dir_000000.tex
new file mode 100644 (file)
index 0000000..a0dcd92
--- /dev/null
@@ -0,0 +1,155 @@
+\section{/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/ Directory Reference}
+\label{dir_000000}\index{/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/ Directory Reference@{/home/perthi/cern/aliroot/AliRoot\_\-head020507/HLT/BASE/ Directory Reference}}
+
+
+\subsection*{Files}
+\begin{CompactItemize}
+\item 
+file {\bf Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx}
+\begin{CompactList}\small\item\em Pure C interface to the Ali\-Root HLT component handler. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h}
+\begin{CompactList}\small\item\em Pure C interface to the Ali\-Root HLT component handler. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTComponent.cxx}
+\begin{CompactList}\small\item\em Base class implementation for HLT components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTComponent.h}
+\begin{CompactList}\small\item\em Base class declaration for HLT components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTComponent\-Handler.cxx}
+\begin{CompactList}\small\item\em Implementation of HLT component handler. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTComponent\-Handler.h}
+\begin{CompactList}\small\item\em Global handling of HLT processing components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTConfiguration.cxx}
+\begin{CompactList}\small\item\em Implementation of HLT configuration handler. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTConfiguration.h}
+\begin{CompactList}\small\item\em Base class and handling of HLT configurations. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTConfiguration\-Handler.h}
+\begin{CompactList}\small\item\em Global handling of HLT configurations. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTConsumer\-Descriptor.cxx}
+\begin{CompactList}\small\item\em Helper class to describe a consumer component. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTConsumer\-Descriptor.h}
+\begin{CompactList}\small\item\em Helper class to describe a consumer component. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTData\-Buffer.cxx}
+\begin{CompactList}\small\item\em Handling of Data Buffers for HLT components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTData\-Buffer.h}
+\begin{CompactList}\small\item\em Handling of Data Buffers for HLT components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTData\-Sink.cxx}
+\begin{CompactList}\small\item\em Base class implementation for HLT data source components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTData\-Sink.h}
+\begin{CompactList}\small\item\em Base class declaration for HLT data sink components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTData\-Source.cxx}
+\begin{CompactList}\small\item\em Base class implementation for HLT data source components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTData\-Source.h}
+\begin{CompactList}\small\item\em Base class declaration for HLT data source components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTData\-Types.h}
+\begin{CompactList}\small\item\em Data type declaration for the HLT module. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTDefinitions.h}
+\begin{CompactList}\small\item\em Definitions for the HLT module. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTLogging.cxx}
+\begin{CompactList}\small\item\em Implementation of HLT logging primitives. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTLogging.h}
+\begin{CompactList}\small\item\em HLT module logging primitives. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTMessage.cxx}
+\begin{CompactList}\small\item\em Serialization of Root objects in the ALICE HLT. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTMessage.h}
+\begin{CompactList}\small\item\em Serialization of Root objects in the ALICE HLT. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTModule\-Agent.cxx}
+\begin{CompactList}\small\item\em Agent helper class for component libraries. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTModule\-Agent.h}
+\begin{CompactList}\small\item\em Agent helper class for component libraries. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTOffline\-Data\-Sink.cxx}
+\begin{CompactList}\small\item\em Ali\-Root data sink component base class. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTOffline\-Data\-Sink.h}
+\begin{CompactList}\small\item\em Ali\-Root data sink component base class. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTOffline\-Data\-Source.cxx}
+\begin{CompactList}\small\item\em Ali\-Root data source component base class. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTOffline\-Data\-Source.h}
+\begin{CompactList}\small\item\em Ali\-Root data sink component base class. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTOffline\-Interface.cxx}
+\begin{CompactList}\small\item\em the HLT interface to Ali\-Root \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTOffline\-Interface.h}
+\begin{CompactList}\small\item\em the HLT interface to Ali\-Root \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTProcessor.cxx}
+\begin{CompactList}\small\item\em Base class implementation for HLT analysis components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTProcessor.h}
+\begin{CompactList}\small\item\em Base class declaration for HLT analysis components. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTStd\-Includes.h}
+\item 
+file {\bf Ali\-HLTSystem.cxx}
+\begin{CompactList}\small\item\em Implementation of HLT module management. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTSystem.h}
+\begin{CompactList}\small\item\em Global HLT module management and Ali\-Root integration. \item\end{CompactList}
+
+\item 
+file {\bf Ali\-HLTTask.h}
+\begin{CompactList}\small\item\em base class for HLT tasks \item\end{CompactList}
+
+\item 
+file {\bf HLTbase\-Link\-Def.h}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/dir_000001.tex b/HLT/PHOS/latex/dir_000001.tex
new file mode 100644 (file)
index 0000000..3a09d8a
--- /dev/null
@@ -0,0 +1,17 @@
+\section{Online\-Display/ Directory Reference}
+\label{dir_000001}\index{OnlineDisplay/ Directory Reference@{OnlineDisplay/ Directory Reference}}
+
+
+\subsection*{Files}
+\begin{CompactItemize}
+\item 
+file {\bf Ali\-HLTPHOSGet\-Event\-Button.cxx}
+\item 
+file {\bf Ali\-HLTPHOSGet\-Event\-Button.h}
+\item 
+file {\bf Ali\-HLTPHOSOnline\-Display.cxx}
+\item 
+file {\bf Ali\-HLTPHOSOnline\-Display.h}
+\item 
+file {\bf main.cxx}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/dirs.tex b/HLT/PHOS/latex/dirs.tex
new file mode 100644 (file)
index 0000000..ec3b52f
--- /dev/null
@@ -0,0 +1,5 @@
+\section{Ali\-HLTPHOS Directories}
+This directory hierarchy is sorted roughly, but not completely, alphabetically:\begin{CompactList}
+\item \contentsline{section}{BASE}{\pageref{dir_000000}}{}
+\item \contentsline{section}{Online\-Display}{\pageref{dir_000001}}{}
+\end{CompactList}
diff --git a/HLT/PHOS/latex/group__alihlt__component.tex b/HLT/PHOS/latex/group__alihlt__component.tex
new file mode 100644 (file)
index 0000000..4e0ad0a
--- /dev/null
@@ -0,0 +1,20 @@
+\section{Component handling of the HLT module}
+\label{group__alihlt__component}\index{Component handling of the HLT module@{Component handling of the HLT module}}
+
+
+\subsection{Detailed Description}
+This section describes the the component handling for the HLT module. 
+
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTComponent}
+\item 
+class {\bf Ali\-HLTComponent\-Handler}
+\item 
+class {\bf Ali\-HLTData\-Sink}
+\item 
+class {\bf Ali\-HLTData\-Source}
+\item 
+class {\bf Ali\-HLTProcessor}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/group__alihlt__system.tex b/HLT/PHOS/latex/group__alihlt__system.tex
new file mode 100644 (file)
index 0000000..7c54e69
--- /dev/null
@@ -0,0 +1,30 @@
+\section{HLT integration into Ali\-Root}
+\label{group__alihlt__system}\index{HLT integration into AliRoot@{HLT integration into AliRoot}}
+
+
+\subsection{Detailed Description}
+This section describes the HLT integration into Ali\-Root. 
+
+\subsection*{Classes}
+\begin{CompactItemize}
+\item 
+class {\bf Ali\-HLTConfiguration}
+\begin{CompactList}\small\item\em Description of HLT processing chains. \item\end{CompactList}\item 
+class {\bf Ali\-HLTConfiguration\-Handler}
+\begin{CompactList}\small\item\em Global Handling of HLT configurations. \item\end{CompactList}\item 
+class {\bf Ali\-HLTConsumer\-Descriptor}
+\begin{CompactList}\small\item\em Helper class to describe a consumer component. \item\end{CompactList}\item 
+class {\bf Ali\-HLTData\-Buffer}
+\begin{CompactList}\small\item\em Handling of data buffers for the HLT. \item\end{CompactList}\item 
+class {\bf Ali\-HLTModule\-Agent}
+\begin{CompactList}\small\item\em Agent helper class for HLT sub modules, e.g. PHOS, TPC, Trigger. \item\end{CompactList}\item 
+class {\bf Ali\-HLTOffline\-Data\-Sink}
+\item 
+class {\bf Ali\-HLTOffline\-Data\-Source}
+\item 
+class {\bf Ali\-HLTOffline\-Interface}
+\item 
+class {\bf Ali\-HLTSystem}
+\item 
+class {\bf Ali\-HLTTask}
+\end{CompactItemize}
diff --git a/HLT/PHOS/latex/group__alihlt__wrapper__interface.tex b/HLT/PHOS/latex/group__alihlt__wrapper__interface.tex
new file mode 100644 (file)
index 0000000..f3f7b42
--- /dev/null
@@ -0,0 +1,256 @@
+\section{The HLT wrapper interface}
+\label{group__alihlt__wrapper__interface}\index{The HLT wrapper interface@{The HLT wrapper interface}}
+
+
+\subsection{Detailed Description}
+The wrapper interface is a pure C interface which allows to use the analysis components in external applications. The interface is utilized to bind the analysis code to the Pub\-Sub framework.
+
+
+
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item 
+typedef void $\ast$ {\bf Ali\-HLTComponent\-Handle}
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Init\-System} ({\bf Ali\-HLTComponent\-Environment} $\ast$environ)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Deinit\-System} ()
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Load\-Library} (const char $\ast$library\-Path)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Component\_\-Unload\-Library} (const char $\ast$library\-Path)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Create\-Component} (const char $\ast$component\-Type, void $\ast$environ\_\-param, int argc, const char $\ast$$\ast$argv, {\bf Ali\-HLTComponent\-Handle} $\ast$handle)
+\item 
+void {\bf Ali\-HLT\_\-C\_\-Destroy\-Component} ({\bf Ali\-HLTComponent\-Handle})
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Process\-Event} ({\bf Ali\-HLTComponent\-Handle} handle, const {\bf Ali\-HLTComponent\_\-Event\-Data} $\ast$evt\-Data, const {\bf Ali\-HLTComponent\_\-Block\-Data} $\ast$blocks, {\bf Ali\-HLTComponent\_\-Trigger\-Data} $\ast$trig\-Data, {\bf Ali\-HLTUInt8\_\-t} $\ast$output\-Ptr, {\bf Ali\-HLTUInt32\_\-t} $\ast$size, {\bf Ali\-HLTUInt32\_\-t} $\ast$output\-Block\-Cnt, {\bf Ali\-HLTComponent\_\-Block\-Data} $\ast$$\ast$output\-Blocks, {\bf Ali\-HLTComponent\_\-Event\-Done\-Data} $\ast$$\ast$edd)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Get\-Output\-Data\-Type} ({\bf Ali\-HLTComponent\-Handle}, {\bf Ali\-HLTComponent\_\-Data\-Type} $\ast$data\-Type)
+\item 
+int {\bf Ali\-HLT\_\-C\_\-Get\-Output\-Size} ({\bf Ali\-HLTComponent\-Handle}, unsigned long $\ast$const\-Base, double $\ast$input\-Multiplier)
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item 
+const {\bf Ali\-HLTComponent\-Handle} {\bf k\-Empty\-HLTComponent\-Handle} = 0
+\end{CompactItemize}
+
+
+\subsection{Typedef Documentation}
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLTComponentHandle@{AliHLTComponentHandle}}
+\index{AliHLTComponentHandle@{AliHLTComponentHandle}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef void$\ast$ {\bf Ali\-HLTComponent\-Handle}}\label{group__alihlt__wrapper__interface_ga0}
+
+
+
+
+Definition at line 49 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.
+
+\subsection{Function Documentation}
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_Component_DeinitSystem@{AliHLT\_\-C\_\-Component\_\-DeinitSystem}}
+\index{AliHLT_C_Component_DeinitSystem@{AliHLT\_\-C\_\-Component\_\-DeinitSystem}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLT\_\-C\_\-Component\_\-Deinit\-System ()}\label{group__alihlt__wrapper__interface_ga3}
+
+
+
+
+Definition at line 51 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References g\-Component\-Handler\_\-C.
+
+\footnotesize\begin{verbatim}52 {
+53   if ( gComponentHandler_C )
+54     {
+55       delete gComponentHandler_C;
+56       gComponentHandler_C = NULL;
+57     }
+58   return 0;
+59 }
+\end{verbatim}\normalsize 
+
+
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_Component_InitSystem@{AliHLT\_\-C\_\-Component\_\-InitSystem}}
+\index{AliHLT_C_Component_InitSystem@{AliHLT\_\-C\_\-Component\_\-InitSystem}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLT\_\-C\_\-Component\_\-Init\-System ({\bf Ali\-HLTComponent\-Environment} $\ast$ {\em environ})}\label{group__alihlt__wrapper__interface_ga2}
+
+
+
+
+Definition at line 37 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References Ali\-HLTComponent\-Handler::Announce\-Version(), g\-Component\-Handler\_\-C, and Ali\-HLTLogging::Init\-Ali\-Log\-Trap().
+
+\footnotesize\begin{verbatim}38 {
+39   if ( gComponentHandler_C )
+40     {
+41       return EINPROGRESS;
+42     }
+43   gComponentHandler_C = new AliHLTComponentHandler(environ);
+44   if ( !gComponentHandler_C )
+45     return EFAULT;
+46   gComponentHandler_C->InitAliLogTrap(gComponentHandler_C);
+47   gComponentHandler_C->AnnounceVersion();
+48   return 0;
+49 }
+\end{verbatim}\normalsize 
+
+
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_Component_LoadLibrary@{AliHLT\_\-C\_\-Component\_\-LoadLibrary}}
+\index{AliHLT_C_Component_LoadLibrary@{AliHLT\_\-C\_\-Component\_\-LoadLibrary}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLT\_\-C\_\-Component\_\-Load\-Library (const char $\ast$ {\em library\-Path})}\label{group__alihlt__wrapper__interface_ga4}
+
+
+
+
+Definition at line 61 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References g\-Component\-Handler\_\-C, and Ali\-HLTComponent\-Handler::Load\-Library().
+
+\footnotesize\begin{verbatim}62 {
+63   if ( !gComponentHandler_C )
+64     return ENXIO;
+65   return gComponentHandler_C->LoadLibrary( libraryPath );
+66 }
+\end{verbatim}\normalsize 
+
+
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_Component_UnloadLibrary@{AliHLT\_\-C\_\-Component\_\-UnloadLibrary}}
+\index{AliHLT_C_Component_UnloadLibrary@{AliHLT\_\-C\_\-Component\_\-UnloadLibrary}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLT\_\-C\_\-Component\_\-Unload\-Library (const char $\ast$ {\em library\-Path})}\label{group__alihlt__wrapper__interface_ga5}
+
+
+
+
+Definition at line 68 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References g\-Component\-Handler\_\-C, and Ali\-HLTComponent\-Handler::Unload\-Library().
+
+\footnotesize\begin{verbatim}69 {
+70   if ( !gComponentHandler_C )
+71     return ENXIO;
+72   return gComponentHandler_C->UnloadLibrary( libraryPath );
+73 }
+\end{verbatim}\normalsize 
+
+
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_CreateComponent@{AliHLT\_\-C\_\-CreateComponent}}
+\index{AliHLT_C_CreateComponent@{AliHLT\_\-C\_\-CreateComponent}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLT\_\-C\_\-Create\-Component (const char $\ast$ {\em component\-Type}, void $\ast$ {\em environ\_\-param}, int {\em argc}, const char $\ast$$\ast$ {\em argv}, {\bf Ali\-HLTComponent\-Handle} $\ast$ {\em handle})}\label{group__alihlt__wrapper__interface_ga6}
+
+
+
+
+Definition at line 75 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References Ali\-HLTComponent\-Handler::Create\-Component(), and g\-Component\-Handler\_\-C.
+
+\footnotesize\begin{verbatim}76 {
+77   if ( !gComponentHandler_C )
+78     return ENXIO;
+79   AliHLTComponent* comp;
+80   int ret = gComponentHandler_C->CreateComponent( componentType, environ_param, argc, argv, comp );
+81   *handle = reinterpret_cast<AliHLTComponentHandle>( comp );
+82   return ret;
+83 }
+\end{verbatim}\normalsize 
+
+
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_DestroyComponent@{AliHLT\_\-C\_\-DestroyComponent}}
+\index{AliHLT_C_DestroyComponent@{AliHLT\_\-C\_\-DestroyComponent}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void Ali\-HLT\_\-C\_\-Destroy\-Component ({\bf Ali\-HLTComponent\-Handle})}\label{group__alihlt__wrapper__interface_ga7}
+
+
+
+
+Definition at line 85 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References Ali\-HLTComponent::Deinit().
+
+\footnotesize\begin{verbatim}86 {
+87   if ( !handle )
+88     return;
+89   
+90   AliHLTComponent* pComp=reinterpret_cast<AliHLTComponent*>( handle );
+91   pComp->Deinit();
+92   delete pComp;
+93 }
+\end{verbatim}\normalsize 
+
+
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_GetOutputDataType@{AliHLT\_\-C\_\-GetOutputDataType}}
+\index{AliHLT_C_GetOutputDataType@{AliHLT\_\-C\_\-GetOutputDataType}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLT\_\-C\_\-Get\-Output\-Data\-Type ({\bf Ali\-HLTComponent\-Handle}, {\bf Ali\-HLTComponent\_\-Data\-Type} $\ast$ {\em data\-Type})}\label{group__alihlt__wrapper__interface_ga9}
+
+
+
+
+Definition at line 107 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References Ali\-HLTComponent\_\-Data\-Type, and Ali\-HLTComponent::Get\-Output\-Data\-Type().
+
+\footnotesize\begin{verbatim}108 {
+109   if ( !handle )
+110     return ENXIO;
+111   AliHLTComponent* comp = reinterpret_cast<AliHLTComponent*>( handle );
+112   *dataType = comp->GetOutputDataType();
+113   return 0;
+114 }
+\end{verbatim}\normalsize 
+
+
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_GetOutputSize@{AliHLT\_\-C\_\-GetOutputSize}}
+\index{AliHLT_C_GetOutputSize@{AliHLT\_\-C\_\-GetOutputSize}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLT\_\-C\_\-Get\-Output\-Size ({\bf Ali\-HLTComponent\-Handle}, unsigned long $\ast$ {\em const\-Base}, double $\ast$ {\em input\-Multiplier})}\label{group__alihlt__wrapper__interface_ga10}
+
+
+
+
+Definition at line 116 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References Ali\-HLTComponent::Get\-Output\-Data\-Size().
+
+\footnotesize\begin{verbatim}117 {
+118   if ( !handle )
+119     return ENXIO;
+120   AliHLTComponent* comp = reinterpret_cast<AliHLTComponent*>( handle );
+121   comp->GetOutputDataSize( *constBase, *inputMultiplier );
+122   return 0;
+123 }
+\end{verbatim}\normalsize 
+
+
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!AliHLT_C_ProcessEvent@{AliHLT\_\-C\_\-ProcessEvent}}
+\index{AliHLT_C_ProcessEvent@{AliHLT\_\-C\_\-ProcessEvent}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int Ali\-HLT\_\-C\_\-Process\-Event ({\bf Ali\-HLTComponent\-Handle} {\em handle}, const {\bf Ali\-HLTComponent\_\-Event\-Data} $\ast$ {\em evt\-Data}, const {\bf Ali\-HLTComponent\_\-Block\-Data} $\ast$ {\em blocks}, {\bf Ali\-HLTComponent\_\-Trigger\-Data} $\ast$ {\em trig\-Data}, {\bf Ali\-HLTUInt8\_\-t} $\ast$ {\em output\-Ptr}, {\bf Ali\-HLTUInt32\_\-t} $\ast$ {\em size}, {\bf Ali\-HLTUInt32\_\-t} $\ast$ {\em output\-Block\-Cnt}, {\bf Ali\-HLTComponent\_\-Block\-Data} $\ast$$\ast$ {\em output\-Blocks}, {\bf Ali\-HLTComponent\_\-Event\-Done\-Data} $\ast$$\ast$ {\em edd})}\label{group__alihlt__wrapper__interface_ga8}
+
+
+
+
+Definition at line 95 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.cxx.
+
+References Ali\-HLTComponent\_\-Block\-Data, Ali\-HLTComponent\_\-Event\-Data, Ali\-HLTComponent\_\-Event\-Done\-Data, Ali\-HLTComponent\_\-Trigger\-Data, and Ali\-HLTComponent::Process\-Event().
+
+\footnotesize\begin{verbatim}100 {
+101   if ( !handle )
+102     return ENXIO;
+103   AliHLTComponent* comp = reinterpret_cast<AliHLTComponent*>( handle );
+104   return comp->ProcessEvent( *evtData, blocks, *trigData, outputPtr, *size, *outputBlockCnt, *outputBlocks, *edd );
+105 }
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Variable Documentation}
+\index{alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}!kEmptyHLTComponentHandle@{kEmptyHLTComponentHandle}}
+\index{kEmptyHLTComponentHandle@{kEmptyHLTComponentHandle}!alihlt_wrapper_interface@{alihlt\_\-wrapper\_\-interface}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf Ali\-HLTComponent\-Handle} {\bf k\-Empty\-HLTComponent\-Handle} = 0}\label{group__alihlt__wrapper__interface_ga1}
+
+
+
+
+Definition at line 55 of file Ali\-HLT\_\-C\_\-Component\_\-Wrapper\-Interface.h.
\ No newline at end of file
diff --git a/HLT/PHOS/latex/main_8cxx.tex b/HLT/PHOS/latex/main_8cxx.tex
new file mode 100644 (file)
index 0000000..f32fca8
--- /dev/null
@@ -0,0 +1,61 @@
+\section{Online\-Display/main.cxx File Reference}
+\label{main_8cxx}\index{OnlineDisplay/main.cxx@{OnlineDisplay/main.cxx}}
+
+
+{\tt \#include \char`\"{}Ali\-HLTPHOSOnline\-Display.h\char`\"{}}\par
+{\tt \#include $<$stdexcept$>$}\par
+{\tt \#include $<$TSystem.h$>$}\par
+{\tt \#include $<$TApplication.h$>$}\par
+{\tt \#include \char`\"{}Rtypes.h\char`\"{}}\par
+{\tt \#include $<$TString.h$>$}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item 
+int {\bf main} (int argc, char $\ast$$\ast$argv)
+\end{CompactItemize}
+
+
+\subsection{Function Documentation}
+\index{main.cxx@{main.cxx}!main@{main}}
+\index{main@{main}!main.cxx@{main.cxx}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int main (int {\em argc}, char $\ast$$\ast$ {\em argv})}\label{main_8cxx_a0}
+
+
+
+
+Definition at line 30 of file main.cxx.
+
+References Ali\-HLTPHOSOnline\-Display::Instance(), and Ali\-HLTPHOSOnline\-Display::Scan\-Arguments().
+
+\footnotesize\begin{verbatim}31 {
+32 
+33   //  AliHLTPHOSOnlineDisplay* onlineDisplay = new AliHLTPHOSOnlineDisplay("alice3", 42001); 
+34   
+35   if(!AliHLTPHOSOnlineDisplay::ScanArguments(argc, argv))
+36   {
+37     
+38     try 
+39       {
+40         TApplication app("app", 0, 0);
+41         //      AliHLTPHOSOnlineDisplay* phosDisplayPtr = new AliHLTPHOSOnlineDisplay();
+42         //      AliHLTPHOSOnlineDisplay* phosDisplayPtr = AliHLTPHOSOnlineDisplay::Instance();
+43         AliHLTPHOSOnlineDisplay::Instance();
+44         app.Run();
+45       }
+46     
+47     catch (std::exception& e)
+48       {
+49         //   std::cerr << e.what() << std::endl;
+50         return 1;
+51       }
+52       return 0;
+53   }
+54     else
+55       {
+56         return -1;
+57       }
+58   
+59 }
+\end{verbatim}\normalsize 
+
+
diff --git a/HLT/PHOS/latex/modules.tex b/HLT/PHOS/latex/modules.tex
new file mode 100644 (file)
index 0000000..feee37b
--- /dev/null
@@ -0,0 +1,6 @@
+\section{Ali\-HLTPHOS Modules}
+Here is a list of all modules:\begin{CompactList}
+\item \contentsline{section}{The HLT wrapper interface}{\pageref{group__alihlt__wrapper__interface}}{}
+\item \contentsline{section}{Component handling of the HLT module}{\pageref{group__alihlt__component}}{}
+\item \contentsline{section}{HLT integration into Ali\-Root}{\pageref{group__alihlt__system}}{}
+\end{CompactList}
diff --git a/HLT/PHOS/latex/namespaces.tex b/HLT/PHOS/latex/namespaces.tex
new file mode 100644 (file)
index 0000000..422813a
--- /dev/null
@@ -0,0 +1,4 @@
+\section{Ali\-HLTPHOS Namespace List}
+Here is a list of all namespaces with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{{\bf std} }{\pageref{namespacestd}}{}
+\end{CompactList}
diff --git a/HLT/PHOS/latex/namespacestd.tex b/HLT/PHOS/latex/namespacestd.tex
new file mode 100644 (file)
index 0000000..2cd5b3b
--- /dev/null
@@ -0,0 +1,6 @@
+\section{std Namespace Reference}
+\label{namespacestd}\index{std@{std}}
+
+
+
+
diff --git a/HLT/PHOS/latex/structAliHLTComponentBlockData.tex b/HLT/PHOS/latex/structAliHLTComponentBlockData.tex
new file mode 100644 (file)
index 0000000..c1727c5
--- /dev/null
@@ -0,0 +1,92 @@
+\section{Ali\-HLTComponent\-Block\-Data Struct Reference}
+\label{structAliHLTComponentBlockData}\index{AliHLTComponentBlockData@{AliHLTComponentBlockData}}
+{\tt \#include $<$Ali\-HLTData\-Types.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Struct\-Size}
+\item 
+{\bf Ali\-HLTComponent\-Shm\-Data} {\bf f\-Shm\-Key}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Offset}
+\item 
+void $\ast$ {\bf f\-Ptr}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Size}
+\item 
+{\bf Ali\-HLTComponent\-Data\-Type} {\bf f\-Data\-Type}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Specification}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}!fDataType@{fDataType}}
+\index{fDataType@{fDataType}!AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTComponent\-Block\-Data::f\-Data\-Type}}\label{structAliHLTComponentBlockData_o5}
+
+
+
+
+Definition at line 74 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTComponent::Fill\-Block\-Data(), Ali\-HLTComponent::Find\-Input\-Block(), Ali\-HLTComponent::Get\-Data\-Type(), Ali\-HLTComponent::Insert\-Output\-Block(), Ali\-HLTComponent::Make\-Output\-Data\-Block\-List(), Ali\-HLTData\-Buffer::Set\-Segments(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}!fOffset@{fOffset}}
+\index{fOffset@{fOffset}!AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Block\-Data::f\-Offset}}\label{structAliHLTComponentBlockData_o2}
+
+
+
+
+Definition at line 71 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTComponent::Fill\-Block\-Data(), Ali\-HLTComponent::Insert\-Output\-Block(), Ali\-HLTData\-Buffer::Release(), Ali\-HLTData\-Buffer::Set\-Segments(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}!fPtr@{fPtr}}
+\index{fPtr@{fPtr}!AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ {\bf Ali\-HLTComponent\-Block\-Data::f\-Ptr}}\label{structAliHLTComponentBlockData_o3}
+
+
+
+
+Definition at line 72 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Create\-Input\-Object(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTComponent::Fill\-Block\-Data(), Ali\-HLTComponent::Insert\-Output\-Block(), Ali\-HLTData\-Buffer::Release(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}!fShmKey@{fShmKey}}
+\index{fShmKey@{fShmKey}!AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Shm\-Data} {\bf Ali\-HLTComponent\-Block\-Data::f\-Shm\-Key}}\label{structAliHLTComponentBlockData_o1}
+
+
+
+
+Definition at line 70 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Fill\-Block\-Data(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}!fSize@{fSize}}
+\index{fSize@{fSize}!AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Block\-Data::f\-Size}}\label{structAliHLTComponentBlockData_o4}
+
+
+
+
+Definition at line 73 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Create\-Input\-Object(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTComponent::Fill\-Block\-Data(), Ali\-HLTComponent::Insert\-Output\-Block(), Ali\-HLTTask::Process\-Task(), Ali\-HLTData\-Buffer::Release(), Ali\-HLTData\-Buffer::Set\-Segments(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}!fSpecification@{fSpecification}}
+\index{fSpecification@{fSpecification}!AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Block\-Data::f\-Specification}}\label{structAliHLTComponentBlockData_o6}
+
+
+
+
+Definition at line 75 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTComponent::Fill\-Block\-Data(), Ali\-HLTComponent::Get\-Specification(), Ali\-HLTComponent::Insert\-Output\-Block(), Ali\-HLTData\-Buffer::Set\-Segments(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}!fStructSize@{fStructSize}}
+\index{fStructSize@{fStructSize}!AliHLTComponentBlockData@{Ali\-HLTComponent\-Block\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Block\-Data::f\-Struct\-Size}}\label{structAliHLTComponentBlockData_o0}
+
+
+
+
+Definition at line 69 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Fill\-Block\-Data(), and Ali\-HLTData\-Buffer::Subscribe().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Types.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTComponentDataType.tex b/HLT/PHOS/latex/structAliHLTComponentDataType.tex
new file mode 100644 (file)
index 0000000..ce48ea9
--- /dev/null
@@ -0,0 +1,48 @@
+\section{Ali\-HLTComponent\-Data\-Type Struct Reference}
+\label{structAliHLTComponentDataType}\index{AliHLTComponentDataType@{AliHLTComponentDataType}}
+{\tt \#include $<$Ali\-HLTData\-Types.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Struct\-Size}
+\item 
+char {\bf f\-ID} [{\bf k\-Ali\-HLTComponent\-Data\-Typef\-IDsize}]
+\item 
+char {\bf f\-Origin} [{\bf k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size}]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentDataType@{Ali\-HLTComponent\-Data\-Type}!fID@{fID}}
+\index{fID@{fID}!AliHLTComponentDataType@{Ali\-HLTComponent\-Data\-Type}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char {\bf Ali\-HLTComponent\-Data\-Type::f\-ID}[{\bf k\-Ali\-HLTComponent\-Data\-Typef\-IDsize}]}\label{structAliHLTComponentDataType_o1}
+
+
+
+
+Definition at line 55 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Copy\-Data\-Type(), Ali\-HLTComponent::Data\-Type2Text(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Get\-Input\-Data\-Types(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Get\-Input\-Data\-Types(), Ali\-HLTPHOSModule\-Merger\-Component::Get\-Input\-Data\-Types(), Ali\-HLTPHOSHistogram\-Producer\-Component::Get\-Input\-Data\-Types(), Ali\-HLTPHOSFile\-Writer\-Component::Get\-Input\-Data\-Types(), Ali\-HLTPHOSDDLDecoder\-Component::Get\-Input\-Data\-Types(), Ali\-HLTPHOSFile\-Writer::Make\-Filename(), operator!=(), operator==(), Ali\-HLTComponent::Print\-Component\-Data\-Type\-Info(), Ali\-HLTComponent::Print\-Data\-Type\-Content(), and Ali\-HLTComponent::Set\-Data\-Type().\index{AliHLTComponentDataType@{Ali\-HLTComponent\-Data\-Type}!fOrigin@{fOrigin}}
+\index{fOrigin@{fOrigin}!AliHLTComponentDataType@{Ali\-HLTComponent\-Data\-Type}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char {\bf Ali\-HLTComponent\-Data\-Type::f\-Origin}[{\bf k\-Ali\-HLTComponent\-Data\-Typef\-Origin\-Size}]}\label{structAliHLTComponentDataType_o2}
+
+
+
+
+Definition at line 56 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Copy\-Data\-Type(), Ali\-HLTComponent::Data\-Type2Text(), Ali\-HLTPHOSFile\-Writer::Make\-Filename(), operator!=(), operator==(), Ali\-HLTComponent::Print\-Component\-Data\-Type\-Info(), Ali\-HLTComponent::Print\-Data\-Type\-Content(), and Ali\-HLTComponent::Set\-Data\-Type().\index{AliHLTComponentDataType@{Ali\-HLTComponent\-Data\-Type}!fStructSize@{fStructSize}}
+\index{fStructSize@{fStructSize}!AliHLTComponentDataType@{Ali\-HLTComponent\-Data\-Type}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Data\-Type::f\-Struct\-Size}}\label{structAliHLTComponentDataType_o0}
+
+
+
+
+Definition at line 54 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Print\-Component\-Data\-Type\-Info(), and Ali\-HLTComponent::Set\-Data\-Type().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Types.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTComponentEnvironment.tex b/HLT/PHOS/latex/structAliHLTComponentEnvironment.tex
new file mode 100644 (file)
index 0000000..2276136
--- /dev/null
@@ -0,0 +1,64 @@
+\section{Ali\-HLTComponent\-Environment Struct Reference}
+\label{structAliHLTComponentEnvironment}\index{AliHLTComponentEnvironment@{AliHLTComponentEnvironment}}
+{\tt \#include $<$Ali\-HLTData\-Types.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Struct\-Size}
+\item 
+void $\ast$ {\bf f\-Param}
+\item 
+void $\ast$($\ast$ {\bf f\-Alloc\-Memory\-Func} )(void $\ast$param, unsigned long size)
+\item 
+int($\ast$ {\bf f\-Get\-Event\-Done\-Data\-Func} )(void $\ast$param, {\bf Ali\-HLTEvent\-ID\_\-t} event\-ID, unsigned long size, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$$\ast$edd)
+\item 
+{\bf Ali\-HLTfct\-Logging} {\bf f\-Logging\-Func}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}!fAllocMemoryFunc@{fAllocMemoryFunc}}
+\index{fAllocMemoryFunc@{fAllocMemoryFunc}!AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$($\ast$ {\bf Ali\-HLTComponent\-Environment::f\-Alloc\-Memory\-Func})(void $\ast$param, unsigned long size)}\label{structAliHLTComponentEnvironment_o2}
+
+
+
+
+Referenced by Ali\-HLTComponent::Alloc\-Memory(), and Class\-Imp().\index{AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}!fGetEventDoneDataFunc@{fGetEventDoneDataFunc}}
+\index{fGetEventDoneDataFunc@{fGetEventDoneDataFunc}!AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int($\ast$ {\bf Ali\-HLTComponent\-Environment::f\-Get\-Event\-Done\-Data\-Func})(void $\ast$param, {\bf Ali\-HLTEvent\-ID\_\-t} event\-ID, unsigned long size, {\bf Ali\-HLTComponent\-Event\-Done\-Data} $\ast$$\ast$edd)}\label{structAliHLTComponentEnvironment_o3}
+
+
+
+
+Referenced by Ali\-HLTComponent::Get\-Event\-Done\-Data().\index{AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}!fLoggingFunc@{fLoggingFunc}}
+\index{fLoggingFunc@{fLoggingFunc}!AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTfct\-Logging} {\bf Ali\-HLTComponent\-Environment::f\-Logging\-Func}}\label{structAliHLTComponentEnvironment_o4}
+
+
+
+
+Definition at line 103 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent\-Handler::Ali\-HLTComponent\-Handler(), Class\-Imp(), and Ali\-HLTComponent\-Handler::Set\-Environment().\index{AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}!fParam@{fParam}}
+\index{fParam@{fParam}!AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ {\bf Ali\-HLTComponent\-Environment::f\-Param}}\label{structAliHLTComponentEnvironment_o1}
+
+
+
+
+Definition at line 97 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Alloc\-Memory(), Ali\-HLTComponent::Get\-Event\-Done\-Data(), and Ali\-HLTComponent::Init().\index{AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}!fStructSize@{fStructSize}}
+\index{fStructSize@{fStructSize}!AliHLTComponentEnvironment@{Ali\-HLTComponent\-Environment}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Environment::f\-Struct\-Size}}\label{structAliHLTComponentEnvironment_o0}
+
+
+
+
+Definition at line 96 of file Ali\-HLTData\-Types.h.
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Types.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTComponentEventData.tex b/HLT/PHOS/latex/structAliHLTComponentEventData.tex
new file mode 100644 (file)
index 0000000..a75e4f0
--- /dev/null
@@ -0,0 +1,66 @@
+\section{Ali\-HLTComponent\-Event\-Data Struct Reference}
+\label{structAliHLTComponentEventData}\index{AliHLTComponentEventData@{AliHLTComponentEventData}}
+{\tt \#include $<$Ali\-HLTData\-Types.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Struct\-Size}
+\item 
+{\bf Ali\-HLTEvent\-ID\_\-t} {\bf f\-Event\-ID}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Event\-Creation\_\-s}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Event\-Creation\_\-us}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Block\-Cnt}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}!fBlockCnt@{fBlockCnt}}
+\index{fBlockCnt@{fBlockCnt}!AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Event\-Data::f\-Block\-Cnt}}\label{structAliHLTComponentEventData_o4}
+
+
+
+
+Definition at line 36 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Create\-Input\-Object(), Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), Ali\-HLTData\-Source::Do\-Processing(), Ali\-HLTComponent::Find\-Input\-Block(), Ali\-HLTComponent::Get\-Data\-Type(), Ali\-HLTComponent::Get\-Input\-Object(), Ali\-HLTComponent::Get\-Number\-Of\-Input\-Blocks(), Ali\-HLTComponent::Get\-Specification(), and Ali\-HLTTask::Process\-Task().\index{AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}!fEventCreation_s@{fEventCreation\_\-s}}
+\index{fEventCreation_s@{fEventCreation\_\-s}!AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Event\-Data::f\-Event\-Creation\_\-s}}\label{structAliHLTComponentEventData_o2}
+
+
+
+
+Definition at line 34 of file Ali\-HLTData\-Types.h.\index{AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}!fEventCreation_us@{fEventCreation\_\-us}}
+\index{fEventCreation_us@{fEventCreation\_\-us}!AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Event\-Data::f\-Event\-Creation\_\-us}}\label{structAliHLTComponentEventData_o3}
+
+
+
+
+Definition at line 35 of file Ali\-HLTData\-Types.h.\index{AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}!fEventID@{fEventID}}
+\index{fEventID@{fEventID}!AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTEvent\-ID\_\-t} {\bf Ali\-HLTComponent\-Event\-Data::f\-Event\-ID}}\label{structAliHLTComponentEventData_o1}
+
+
+
+
+Definition at line 33 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Process\-Event(), and Ali\-HLTTask::Process\-Task().\index{AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}!fStructSize@{fStructSize}}
+\index{fStructSize@{fStructSize}!AliHLTComponentEventData@{Ali\-HLTComponent\-Event\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Event\-Data::f\-Struct\-Size}}\label{structAliHLTComponentEventData_o0}
+
+
+
+
+Definition at line 32 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Fill\-Event\-Data().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Types.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTComponentEventDoneData.tex b/HLT/PHOS/latex/structAliHLTComponentEventDoneData.tex
new file mode 100644 (file)
index 0000000..9d6416e
--- /dev/null
@@ -0,0 +1,42 @@
+\section{Ali\-HLTComponent\-Event\-Done\-Data Struct Reference}
+\label{structAliHLTComponentEventDoneData}\index{AliHLTComponentEventDoneData@{AliHLTComponentEventDoneData}}
+{\tt \#include $<$Ali\-HLTData\-Types.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Struct\-Size}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Data\-Size}
+\item 
+void $\ast$ {\bf f\-Data}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentEventDoneData@{Ali\-HLTComponent\-Event\-Done\-Data}!fData@{fData}}
+\index{fData@{fData}!AliHLTComponentEventDoneData@{Ali\-HLTComponent\-Event\-Done\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ {\bf Ali\-HLTComponent\-Event\-Done\-Data::f\-Data}}\label{structAliHLTComponentEventDoneData_o2}
+
+
+
+
+Definition at line 89 of file Ali\-HLTData\-Types.h.\index{AliHLTComponentEventDoneData@{Ali\-HLTComponent\-Event\-Done\-Data}!fDataSize@{fDataSize}}
+\index{fDataSize@{fDataSize}!AliHLTComponentEventDoneData@{Ali\-HLTComponent\-Event\-Done\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Event\-Done\-Data::f\-Data\-Size}}\label{structAliHLTComponentEventDoneData_o1}
+
+
+
+
+Definition at line 88 of file Ali\-HLTData\-Types.h.\index{AliHLTComponentEventDoneData@{Ali\-HLTComponent\-Event\-Done\-Data}!fStructSize@{fStructSize}}
+\index{fStructSize@{fStructSize}!AliHLTComponentEventDoneData@{Ali\-HLTComponent\-Event\-Done\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Event\-Done\-Data::f\-Struct\-Size}}\label{structAliHLTComponentEventDoneData_o0}
+
+
+
+
+Definition at line 87 of file Ali\-HLTData\-Types.h.
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Types.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTComponentHandler_1_1AliHLTLibHandle.tex b/HLT/PHOS/latex/structAliHLTComponentHandler_1_1AliHLTLibHandle.tex
new file mode 100644 (file)
index 0000000..b4c2936
--- /dev/null
@@ -0,0 +1,65 @@
+\section{Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle Struct Reference}
+\label{structAliHLTComponentHandler_1_1AliHLTLibHandle}\index{AliHLTComponentHandler::AliHLTLibHandle@{AliHLTComponentHandler::AliHLTLibHandle}}
+
+
+\subsection{Detailed Description}
+Compount descriptor for component libraries 
+
+
+
+Definition at line 216 of file Ali\-HLTComponent\-Handler.h.\subsection*{Public Member Functions}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTLib\-Handle} ()
+\end{CompactItemize}
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+void $\ast$ {\bf f\-Handle}
+\item 
+void $\ast$ {\bf f\-Name}
+\begin{CompactList}\small\item\em transient \item\end{CompactList}\end{CompactItemize}
+
+
+\subsection{Constructor \& Destructor Documentation}
+\index{AliHLTComponentHandler::AliHLTLibHandle@{Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle}!AliHLTLibHandle@{AliHLTLibHandle}}
+\index{AliHLTLibHandle@{AliHLTLibHandle}!AliHLTComponentHandler::AliHLTLibHandle@{Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::Ali\-HLTLib\-Handle ()\hspace{0.3cm}{\tt  [inline]}}\label{structAliHLTComponentHandler_1_1AliHLTLibHandle_a0}
+
+
+
+
+Definition at line 217 of file Ali\-HLTComponent\-Handler.h.
+
+\footnotesize\begin{verbatim}217 : fHandle(NULL), fName(NULL) {}
+\end{verbatim}\normalsize 
+
+
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentHandler::AliHLTLibHandle@{Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle}!fHandle@{fHandle}}
+\index{fHandle@{fHandle}!AliHLTComponentHandler::AliHLTLibHandle@{Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ {\bf Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::f\-Handle}}\label{structAliHLTComponentHandler_1_1AliHLTLibHandle_o0}
+
+
+dlopen handle 
+
+Definition at line 219 of file Ali\-HLTComponent\-Handler.h.
+
+Referenced by Ali\-HLTComponent\-Handler::Find\-Symbol(), Ali\-HLTComponent\-Handler::Load\-Library(), and Ali\-HLTComponent\-Handler::Unload\-Library().\index{AliHLTComponentHandler::AliHLTLibHandle@{Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle}!fName@{fName}}
+\index{fName@{fName}!AliHLTComponentHandler::AliHLTLibHandle@{Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ {\bf Ali\-HLTComponent\-Handler::Ali\-HLTLib\-Handle::f\-Name}}\label{structAliHLTComponentHandler_1_1AliHLTLibHandle_o1}
+
+
+transient 
+
+name of the library, casted to TString$\ast$ before use 
+
+Definition at line 221 of file Ali\-HLTComponent\-Handler.h.
+
+Referenced by Ali\-HLTComponent\-Handler::Find\-Symbol(), Ali\-HLTComponent\-Handler::Load\-Library(), and Ali\-HLTComponent\-Handler::Unload\-Library().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTComponent\-Handler.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTComponentShmData.tex b/HLT/PHOS/latex/structAliHLTComponentShmData.tex
new file mode 100644 (file)
index 0000000..4e59f9f
--- /dev/null
@@ -0,0 +1,48 @@
+\section{Ali\-HLTComponent\-Shm\-Data Struct Reference}
+\label{structAliHLTComponentShmData}\index{AliHLTComponentShmData@{AliHLTComponentShmData}}
+{\tt \#include $<$Ali\-HLTData\-Types.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Struct\-Size}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Shm\-Type}
+\item 
+{\bf Ali\-HLTUInt64\_\-t} {\bf f\-Shm\-ID}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentShmData@{Ali\-HLTComponent\-Shm\-Data}!fShmID@{fShmID}}
+\index{fShmID@{fShmID}!AliHLTComponentShmData@{Ali\-HLTComponent\-Shm\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt64\_\-t} {\bf Ali\-HLTComponent\-Shm\-Data::f\-Shm\-ID}}\label{structAliHLTComponentShmData_o2}
+
+
+
+
+Definition at line 44 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Fill\-Shm\-Data(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTComponentShmData@{Ali\-HLTComponent\-Shm\-Data}!fShmType@{fShmType}}
+\index{fShmType@{fShmType}!AliHLTComponentShmData@{Ali\-HLTComponent\-Shm\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Shm\-Data::f\-Shm\-Type}}\label{structAliHLTComponentShmData_o1}
+
+
+
+
+Definition at line 43 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Fill\-Shm\-Data(), and Ali\-HLTData\-Buffer::Subscribe().\index{AliHLTComponentShmData@{Ali\-HLTComponent\-Shm\-Data}!fStructSize@{fStructSize}}
+\index{fStructSize@{fStructSize}!AliHLTComponentShmData@{Ali\-HLTComponent\-Shm\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Shm\-Data::f\-Struct\-Size}}\label{structAliHLTComponentShmData_o0}
+
+
+
+
+Definition at line 42 of file Ali\-HLTData\-Types.h.
+
+Referenced by Ali\-HLTComponent::Fill\-Shm\-Data(), and Ali\-HLTData\-Buffer::Subscribe().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Types.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTComponentTriggerData.tex b/HLT/PHOS/latex/structAliHLTComponentTriggerData.tex
new file mode 100644 (file)
index 0000000..5d2389f
--- /dev/null
@@ -0,0 +1,42 @@
+\section{Ali\-HLTComponent\-Trigger\-Data Struct Reference}
+\label{structAliHLTComponentTriggerData}\index{AliHLTComponentTriggerData@{AliHLTComponentTriggerData}}
+{\tt \#include $<$Ali\-HLTData\-Types.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Struct\-Size}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Data\-Size}
+\item 
+void $\ast$ {\bf f\-Data}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTComponentTriggerData@{Ali\-HLTComponent\-Trigger\-Data}!fData@{fData}}
+\index{fData@{fData}!AliHLTComponentTriggerData@{Ali\-HLTComponent\-Trigger\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ {\bf Ali\-HLTComponent\-Trigger\-Data::f\-Data}}\label{structAliHLTComponentTriggerData_o2}
+
+
+
+
+Definition at line 82 of file Ali\-HLTData\-Types.h.\index{AliHLTComponentTriggerData@{Ali\-HLTComponent\-Trigger\-Data}!fDataSize@{fDataSize}}
+\index{fDataSize@{fDataSize}!AliHLTComponentTriggerData@{Ali\-HLTComponent\-Trigger\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Trigger\-Data::f\-Data\-Size}}\label{structAliHLTComponentTriggerData_o1}
+
+
+
+
+Definition at line 81 of file Ali\-HLTData\-Types.h.\index{AliHLTComponentTriggerData@{Ali\-HLTComponent\-Trigger\-Data}!fStructSize@{fStructSize}}
+\index{fStructSize@{fStructSize}!AliHLTComponentTriggerData@{Ali\-HLTComponent\-Trigger\-Data}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTComponent\-Trigger\-Data::f\-Struct\-Size}}\label{structAliHLTComponentTriggerData_o0}
+
+
+
+
+Definition at line 80 of file Ali\-HLTData\-Types.h.
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+/home/perthi/cern/aliroot/Ali\-Root\_\-head020507/HLT/BASE/{\bf Ali\-HLTData\-Types.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSDataHeaderStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSDataHeaderStruct.tex
new file mode 100644 (file)
index 0000000..5535072
--- /dev/null
@@ -0,0 +1,87 @@
+\section{Ali\-HLTPHOSData\-Header\-Struct Struct Reference}
+\label{structAliHLTPHOSDataHeaderStruct}\index{AliHLTPHOSDataHeaderStruct@{AliHLTPHOSDataHeaderStruct}}
+{\tt \#include $<$Ali\-HLTPHOSData\-Header\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Size}
+\item 
+{\bf Ali\-HLTComponent\-Data\-Type} {\bf f\-Data\-Type}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Event\-ID}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Algorithm}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Format\-Version}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Future\-Use0}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Future\-Use1}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Future\-Use2}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}!fAlgorithm@{fAlgorithm}}
+\index{fAlgorithm@{fAlgorithm}!AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSData\-Header\-Struct::f\-Algorithm}}\label{structAliHLTPHOSDataHeaderStruct_o3}
+
+
+Wich algorithm was uses estimate cellenergies 
+
+Definition at line 11 of file Ali\-HLTPHOSData\-Header\-Struct.h.\index{AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}!fDataType@{fDataType}}
+\index{fDataType@{fDataType}!AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTComponent\-Data\-Type} {\bf Ali\-HLTPHOSData\-Header\-Struct::f\-Data\-Type}}\label{structAliHLTPHOSDataHeaderStruct_o1}
+
+
+Data type stored in this file 
+
+Definition at line 9 of file Ali\-HLTPHOSData\-Header\-Struct.h.\index{AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}!fEventID@{fEventID}}
+\index{fEventID@{fEventID}!AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSData\-Header\-Struct::f\-Event\-ID}}\label{structAliHLTPHOSDataHeaderStruct_o2}
+
+
+The HLT internal event ID for this event 
+
+Definition at line 10 of file Ali\-HLTPHOSData\-Header\-Struct.h.\index{AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}!fFormatVersion@{fFormatVersion}}
+\index{fFormatVersion@{fFormatVersion}!AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSData\-Header\-Struct::f\-Format\-Version}}\label{structAliHLTPHOSDataHeaderStruct_o4}
+
+
+Header format version, currently 1 
+
+Definition at line 12 of file Ali\-HLTPHOSData\-Header\-Struct.h.\index{AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}!fFutureUse0@{fFutureUse0}}
+\index{fFutureUse0@{fFutureUse0}!AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSData\-Header\-Struct::f\-Future\-Use0}}\label{structAliHLTPHOSDataHeaderStruct_o5}
+
+
+
+
+Definition at line 13 of file Ali\-HLTPHOSData\-Header\-Struct.h.\index{AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}!fFutureUse1@{fFutureUse1}}
+\index{fFutureUse1@{fFutureUse1}!AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSData\-Header\-Struct::f\-Future\-Use1}}\label{structAliHLTPHOSDataHeaderStruct_o6}
+
+
+
+
+Definition at line 14 of file Ali\-HLTPHOSData\-Header\-Struct.h.\index{AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}!fFutureUse2@{fFutureUse2}}
+\index{fFutureUse2@{fFutureUse2}!AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSData\-Header\-Struct::f\-Future\-Use2}}\label{structAliHLTPHOSDataHeaderStruct_o7}
+
+
+
+
+Definition at line 15 of file Ali\-HLTPHOSData\-Header\-Struct.h.\index{AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}!fSize@{fSize}}
+\index{fSize@{fSize}!AliHLTPHOSDataHeaderStruct@{Ali\-HLTPHOSData\-Header\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSData\-Header\-Struct::f\-Size}}\label{structAliHLTPHOSDataHeaderStruct_o0}
+
+
+Total size of datablock in bytes, incuding the header 
+
+Definition at line 8 of file Ali\-HLTPHOSData\-Header\-Struct.h.
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSData\-Header\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSModuleCellAccumulatedEnergyDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSModuleCellAccumulatedEnergyDataStruct.tex
new file mode 100644 (file)
index 0000000..15a6b2e
--- /dev/null
@@ -0,0 +1,48 @@
+\section{Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSModuleCellAccumulatedEnergyDataStruct}\index{AliHLTPHOSModuleCellAccumulatedEnergyDataStruct@{AliHLTPHOSModuleCellAccumulatedEnergyDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+Float\_\-t {\bf f\-Accumulated\-Energies} [N\_\-XCOLUMNS\_\-MOD][N\_\-ZROWS\_\-MOD][N\_\-GAINS]
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Hits} [N\_\-XCOLUMNS\_\-MOD][N\_\-ZROWS\_\-MOD][N\_\-GAINS]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSModuleCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct}!fAccumulatedEnergies@{fAccumulatedEnergies}}
+\index{fAccumulatedEnergies@{fAccumulatedEnergies}!AliHLTPHOSModuleCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Float\_\-t {\bf Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Accumulated\-Energies}[N\_\-XCOLUMNS\_\-MOD][N\_\-ZROWS\_\-MOD][N\_\-GAINS]}\label{structAliHLTPHOSModuleCellAccumulatedEnergyDataStruct_o1}
+
+
+
+
+Definition at line 25 of file Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event().\index{AliHLTPHOSModuleCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct}!fHits@{fHits}}
+\index{fHits@{fHits}!AliHLTPHOSModuleCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Hits}[N\_\-XCOLUMNS\_\-MOD][N\_\-ZROWS\_\-MOD][N\_\-GAINS]}\label{structAliHLTPHOSModuleCellAccumulatedEnergyDataStruct_o2}
+
+
+
+
+Definition at line 26 of file Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event().\index{AliHLTPHOSModuleCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSModuleCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Module\-ID}}\label{structAliHLTPHOSModuleCellAccumulatedEnergyDataStruct_o0}
+
+
+
+
+Definition at line 24 of file Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSModule\-Cell\-Accumulated\-Energy\-Data\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSModuleCellAverageEnergyDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSModuleCellAverageEnergyDataStruct.tex
new file mode 100644 (file)
index 0000000..e15f3b5
--- /dev/null
@@ -0,0 +1,42 @@
+\section{Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSModuleCellAverageEnergyDataStruct}\index{AliHLTPHOSModuleCellAverageEnergyDataStruct@{AliHLTPHOSModuleCellAverageEnergyDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct} {\bf f\-Valid\-Data} [N\_\-MODULES $\ast$N\_\-ROWS\_\-MOD $\ast$N\_\-COLUMNS\_\-MOD $\ast$N\_\-GAINS]
+\item 
+Double\_\-t {\bf f\-Average\-Energies} [N\_\-ROWS\_\-MOD][N\_\-COLUMNS\_\-MOD][N\_\-GAINS]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSModuleCellAverageEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct}!fAverageEnergies@{fAverageEnergies}}
+\index{fAverageEnergies@{fAverageEnergies}!AliHLTPHOSModuleCellAverageEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Double\_\-t {\bf Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct::f\-Average\-Energies}[N\_\-ROWS\_\-MOD][N\_\-COLUMNS\_\-MOD][N\_\-GAINS]}\label{structAliHLTPHOSModuleCellAverageEnergyDataStruct_o2}
+
+
+
+
+Definition at line 25 of file Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct.h.\index{AliHLTPHOSModuleCellAverageEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSModuleCellAverageEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct::f\-Module\-ID}}\label{structAliHLTPHOSModuleCellAverageEnergyDataStruct_o0}
+
+
+
+
+Definition at line 23 of file Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct.h.\index{AliHLTPHOSModuleCellAverageEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct}!fValidData@{fValidData}}
+\index{fValidData@{fValidData}!AliHLTPHOSModuleCellAverageEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct} {\bf Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct::f\-Valid\-Data}[N\_\-MODULES $\ast$N\_\-ROWS\_\-MOD $\ast$N\_\-COLUMNS\_\-MOD $\ast$N\_\-GAINS]}\label{structAliHLTPHOSModuleCellAverageEnergyDataStruct_o1}
+
+
+
+
+Definition at line 24 of file Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct.h.
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSModule\-Cell\-Average\-Energy\-Data\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSModuleCellEnergyDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSModuleCellEnergyDataStruct.tex
new file mode 100644 (file)
index 0000000..11e262b
--- /dev/null
@@ -0,0 +1,51 @@
+\section{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSModuleCellEnergyDataStruct}\index{AliHLTPHOSModuleCellEnergyDataStruct@{AliHLTPHOSModuleCellEnergyDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+{\bf Ali\-HLTUInt16\_\-t} {\bf f\-Cnt}
+\item 
+{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct} {\bf f\-Valid\-Data} [N\_\-MODULES $\ast$N\_\-ROWS\_\-MOD $\ast$N\_\-COLUMNS\_\-MOD $\ast$N\_\-GAINS]
+\item 
+unsigned long {\bf cell\-Energies} [N\_\-ROWS\_\-MOD][N\_\-COLUMNS\_\-MOD][N\_\-GAINS]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSModuleCellEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}!cellEnergies@{cellEnergies}}
+\index{cellEnergies@{cellEnergies}!AliHLTPHOSModuleCellEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}unsigned long {\bf Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct::cell\-Energies}[N\_\-ROWS\_\-MOD][N\_\-COLUMNS\_\-MOD][N\_\-GAINS]}\label{structAliHLTPHOSModuleCellEnergyDataStruct_o3}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct.h.\index{AliHLTPHOSModuleCellEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}!fCnt@{fCnt}}
+\index{fCnt@{fCnt}!AliHLTPHOSModuleCellEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt16\_\-t} {\bf Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct::f\-Cnt}}\label{structAliHLTPHOSModuleCellEnergyDataStruct_o1}
+
+
+
+
+Definition at line 25 of file Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct.h.\index{AliHLTPHOSModuleCellEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSModuleCellEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct::f\-Module\-ID}}\label{structAliHLTPHOSModuleCellEnergyDataStruct_o0}
+
+
+
+
+Definition at line 24 of file Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct.h.\index{AliHLTPHOSModuleCellEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}!fValidData@{fValidData}}
+\index{fValidData@{fValidData}!AliHLTPHOSModuleCellEnergyDataStruct@{Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct} {\bf Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct::f\-Valid\-Data}[N\_\-MODULES $\ast$N\_\-ROWS\_\-MOD $\ast$N\_\-COLUMNS\_\-MOD $\ast$N\_\-GAINS]}\label{structAliHLTPHOSModuleCellEnergyDataStruct_o2}
+
+
+
+
+Definition at line 26 of file Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct.h.
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSModule\-Cell\-Energy\-Data\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct.tex
new file mode 100644 (file)
index 0000000..14f540e
--- /dev/null
@@ -0,0 +1,70 @@
+\section{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct}\index{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-X}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-Z}
+\item 
+float {\bf f\-Accumulated\-Energies} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-Hits} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}!fAccumulatedEnergies@{fAccumulatedEnergies}}
+\index{fAccumulatedEnergies@{fAccumulatedEnergies}!AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float {\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Accumulated\-Energies}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]}\label{structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct_o3}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRcu\-Histogram\-Producer::Fill\-Energy(), Ali\-HLTPHOSOnline\-Display::Get\-Histogram(), and Ali\-HLTPHOSRcu\-Histogram\-Producer::Init().\index{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}!fHits@{fHits}}
+\index{fHits@{fHits}!AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Hits}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]}\label{structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct_o4}
+
+
+
+
+Definition at line 28 of file Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRcu\-Histogram\-Producer::Fill\-Energy(), Ali\-HLTPHOSOnline\-Display::Get\-Histogram(), and Ali\-HLTPHOSRcu\-Histogram\-Producer::Init().\index{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Module\-ID}}\label{structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct_o0}
+
+
+
+
+Definition at line 24 of file Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSOnline\-Display::Get\-Histogram(), and Ali\-HLTPHOSRcu\-Histogram\-Producer::Init().\index{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}!fRcuX@{fRcuX}}
+\index{fRcuX@{fRcuX}!AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-X}}\label{structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct_o1}
+
+
+
+
+Definition at line 25 of file Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSOnline\-Display::Get\-Histogram(), Ali\-HLTPHOSRcu\-Histogram\-Producer::Init(), and Ali\-HLTPHOSRcu\-Histogram\-Producer::Set\-Rcu\-X().\index{AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}!fRcuZ@{fRcuZ}}
+\index{fRcuZ@{fRcuZ}!AliHLTPHOSRcuCellAccumulatedEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct::f\-Rcu\-Z}}\label{structAliHLTPHOSRcuCellAccumulatedEnergyDataStruct_o2}
+
+
+
+
+Definition at line 26 of file Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSOnline\-Display::Get\-Histogram(), Ali\-HLTPHOSRcu\-Histogram\-Producer::Init(), and Ali\-HLTPHOSRcu\-Histogram\-Producer::Set\-Rcu\-Z().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Cell\-Accumulated\-Energy\-Data\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSRcuCellAverageEnergyDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSRcuCellAverageEnergyDataStruct.tex
new file mode 100644 (file)
index 0000000..fb111a0
--- /dev/null
@@ -0,0 +1,42 @@
+\section{Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSRcuCellAverageEnergyDataStruct}\index{AliHLTPHOSRcuCellAverageEnergyDataStruct@{AliHLTPHOSRcuCellAverageEnergyDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct} {\bf f\-Valid\-Data} [N\_\-XCOLUMNS\_\-RCU $\ast$N\_\-ZROWS\_\-RCU $\ast$N\_\-GAINS]
+\item 
+float {\bf f\-Average\-Energies} [N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSRcuCellAverageEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct}!fAverageEnergies@{fAverageEnergies}}
+\index{fAverageEnergies@{fAverageEnergies}!AliHLTPHOSRcuCellAverageEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float {\bf Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct::f\-Average\-Energies}[N\_\-XCOLUMNS\_\-RCU][N\_\-ZROWS\_\-RCU][N\_\-GAINS]}\label{structAliHLTPHOSRcuCellAverageEnergyDataStruct_o2}
+
+
+
+
+Definition at line 26 of file Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct.h.\index{AliHLTPHOSRcuCellAverageEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSRcuCellAverageEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct::f\-Module\-ID}}\label{structAliHLTPHOSRcuCellAverageEnergyDataStruct_o0}
+
+
+
+
+Definition at line 24 of file Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct.h.\index{AliHLTPHOSRcuCellAverageEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct}!fValidData@{fValidData}}
+\index{fValidData@{fValidData}!AliHLTPHOSRcuCellAverageEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct} {\bf Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct::f\-Valid\-Data}[N\_\-XCOLUMNS\_\-RCU $\ast$N\_\-ZROWS\_\-RCU $\ast$N\_\-GAINS]}\label{structAliHLTPHOSRcuCellAverageEnergyDataStruct_o1}
+
+
+
+
+Definition at line 25 of file Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct.h.
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Cell\-Average\-Energy\-Data\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSRcuCellEnergyDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSRcuCellEnergyDataStruct.tex
new file mode 100644 (file)
index 0000000..f025e9e
--- /dev/null
@@ -0,0 +1,70 @@
+\section{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSRcuCellEnergyDataStruct}\index{AliHLTPHOSRcuCellEnergyDataStruct@{AliHLTPHOSRcuCellEnergyDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+Int\_\-t {\bf f\-Module\-ID}
+\item 
+Int\_\-t {\bf f\-Rcu\-X}
+\item 
+Int\_\-t {\bf f\-Rcu\-Z}
+\item 
+Int\_\-t {\bf f\-Cnt}
+\item 
+{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct} {\bf f\-Valid\-Data} [N\_\-ROWS\_\-RCU $\ast$N\_\-COLUMNS\_\-RCU $\ast$N\_\-GAINS]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}!fCnt@{fCnt}}
+\index{fCnt@{fCnt}!AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t {\bf Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Cnt}}\label{structAliHLTPHOSRcuCellEnergyDataStruct_o3}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().\index{AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t {\bf Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Module\-ID}}\label{structAliHLTPHOSRcuCellEnergyDataStruct_o0}
+
+
+
+
+Definition at line 24 of file Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().\index{AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}!fRcuX@{fRcuX}}
+\index{fRcuX@{fRcuX}!AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t {\bf Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Rcu\-X}}\label{structAliHLTPHOSRcuCellEnergyDataStruct_o1}
+
+
+
+
+Definition at line 25 of file Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().\index{AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}!fRcuZ@{fRcuZ}}
+\index{fRcuZ@{fRcuZ}!AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Int\_\-t {\bf Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Rcu\-Z}}\label{structAliHLTPHOSRcuCellEnergyDataStruct_o2}
+
+
+
+
+Definition at line 26 of file Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().\index{AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}!fValidData@{fValidData}}
+\index{fValidData@{fValidData}!AliHLTPHOSRcuCellEnergyDataStruct@{Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct} {\bf Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct::f\-Valid\-Data}[N\_\-ROWS\_\-RCU $\ast$N\_\-COLUMNS\_\-RCU $\ast$N\_\-GAINS]}\label{structAliHLTPHOSRcuCellEnergyDataStruct_o4}
+
+
+
+
+Definition at line 29 of file Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Cell\-Energy\-Data\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSRcuChannelDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSRcuChannelDataStruct.tex
new file mode 100644 (file)
index 0000000..f2bfe0e
--- /dev/null
@@ -0,0 +1,70 @@
+\section{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSRcuChannelDataStruct}\index{AliHLTPHOSRcuChannelDataStruct@{AliHLTPHOSRcuChannelDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt32\_\-t} {\bf f\-NValid\-Channels}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Module\-ID}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-X}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Rcu\-Z}
+\item 
+{\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct} {\bf f\-Valid\-Data} [512]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}!fModuleID@{fModuleID}}
+\index{fModuleID@{fModuleID}!AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Module\-ID}}\label{structAliHLTPHOSRcuChannelDataStruct_o1}
+
+
+
+
+Definition at line 11 of file Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw().\index{AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}!fNValidChannels@{fNValidChannels}}
+\index{fNValidChannels@{fNValidChannels}!AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt32\_\-t} {\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-NValid\-Channels}}\label{structAliHLTPHOSRcuChannelDataStruct_o0}
+
+
+
+
+Definition at line 9 of file Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw().\index{AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}!fRcuX@{fRcuX}}
+\index{fRcuX@{fRcuX}!AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Rcu\-X}}\label{structAliHLTPHOSRcuChannelDataStruct_o2}
+
+
+
+
+Definition at line 12 of file Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event().\index{AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}!fRcuZ@{fRcuZ}}
+\index{fRcuZ@{fRcuZ}!AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Rcu\-Z}}\label{structAliHLTPHOSRcuChannelDataStruct_o3}
+
+
+
+
+Definition at line 13 of file Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event().\index{AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}!fValidData@{fValidData}}
+\index{fValidData@{fValidData}!AliHLTPHOSRcuChannelDataStruct@{Ali\-HLTPHOSRcu\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct} {\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct::f\-Valid\-Data}[512]}\label{structAliHLTPHOSRcuChannelDataStruct_o4}
+
+
+
+
+Definition at line 15 of file Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSRcu\-Channel\-Data\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSValidCellDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSValidCellDataStruct.tex
new file mode 100644 (file)
index 0000000..84e5077
--- /dev/null
@@ -0,0 +1,70 @@
+\section{Ali\-HLTPHOSValid\-Cell\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSValidCellDataStruct}\index{AliHLTPHOSValidCellDataStruct@{AliHLTPHOSValidCellDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Z}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-X}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Gain}
+\item 
+Float\_\-t {\bf f\-Energy}
+\item 
+Float\_\-t {\bf f\-Time}
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}!fEnergy@{fEnergy}}
+\index{fEnergy@{fEnergy}!AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Float\_\-t {\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Energy}}\label{structAliHLTPHOSValidCellDataStruct_o3}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().\index{AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}!fGain@{fGain}}
+\index{fGain@{fGain}!AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Gain}}\label{structAliHLTPHOSValidCellDataStruct_o2}
+
+
+
+
+Definition at line 26 of file Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().\index{AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}!fTime@{fTime}}
+\index{fTime@{fTime}!AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Float\_\-t {\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Time}}\label{structAliHLTPHOSValidCellDataStruct_o4}
+
+
+
+
+Definition at line 28 of file Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event().\index{AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}!fX@{fX}}
+\index{fX@{fX}!AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-X}}\label{structAliHLTPHOSValidCellDataStruct_o1}
+
+
+
+
+Definition at line 25 of file Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().\index{AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}!fZ@{fZ}}
+\index{fZ@{fZ}!AliHLTPHOSValidCellDataStruct@{Ali\-HLTPHOSValid\-Cell\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct::f\-Z}}\label{structAliHLTPHOSValidCellDataStruct_o0}
+
+
+
+
+Definition at line 24 of file Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSRcu\-Histogram\-Producer\-Component::Do\-Event(), Ali\-HLTPHOSRaw\-Analyzer\-Component::Do\-Event(), Ali\-HLTPHOSModule\-Merger\-Component::Do\-Event(), Ali\-HLTPHOSHistogram\-Producer\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSValid\-Cell\-Data\-Struct.h}\end{CompactItemize}
diff --git a/HLT/PHOS/latex/structAliHLTPHOSValidChannelDataStruct.tex b/HLT/PHOS/latex/structAliHLTPHOSValidChannelDataStruct.tex
new file mode 100644 (file)
index 0000000..bd534e4
--- /dev/null
@@ -0,0 +1,70 @@
+\section{Ali\-HLTPHOSValid\-Channel\-Data\-Struct Struct Reference}
+\label{structAliHLTPHOSValidChannelDataStruct}\index{AliHLTPHOSValidChannelDataStruct@{AliHLTPHOSValidChannelDataStruct}}
+{\tt \#include $<$Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h$>$}
+
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Z}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-X}
+\item 
+{\bf Ali\-HLTUInt8\_\-t} {\bf f\-Gain}
+\item 
+{\bf Ali\-HLTUInt16\_\-t} {\bf f\-NSamples}
+\item 
+Float\_\-t {\bf f\-Channel\-Data} [350]
+\end{CompactItemize}
+
+
+\subsection{Member Data Documentation}
+\index{AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}!fChannelData@{fChannelData}}
+\index{fChannelData@{fChannelData}!AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Float\_\-t {\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Channel\-Data}[350]}\label{structAliHLTPHOSValidChannelDataStruct_o4}
+
+
+
+
+Definition at line 30 of file Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw().\index{AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}!fGain@{fGain}}
+\index{fGain@{fGain}!AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Gain}}\label{structAliHLTPHOSValidChannelDataStruct_o2}
+
+
+
+
+Definition at line 27 of file Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw().\index{AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}!fNSamples@{fNSamples}}
+\index{fNSamples@{fNSamples}!AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt16\_\-t} {\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-NSamples}}\label{structAliHLTPHOSValidChannelDataStruct_o3}
+
+
+
+
+Definition at line 28 of file Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw().\index{AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}!fX@{fX}}
+\index{fX@{fX}!AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-X}}\label{structAliHLTPHOSValidChannelDataStruct_o1}
+
+
+
+
+Definition at line 26 of file Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw().\index{AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}!fZ@{fZ}}
+\index{fZ@{fZ}!AliHLTPHOSValidChannelDataStruct@{Ali\-HLTPHOSValid\-Channel\-Data\-Struct}}
+\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Ali\-HLTUInt8\_\-t} {\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct::f\-Z}}\label{structAliHLTPHOSValidChannelDataStruct_o0}
+
+
+
+
+Definition at line 25 of file Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h.
+
+Referenced by Ali\-HLTPHOSDDLDecoder\-Component::Do\-Event(), and Ali\-HLTPHOSOnline\-Display::Get\-Next\-Event\-Raw().
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item 
+{\bf Ali\-HLTPHOSValid\-Channel\-Data\-Struct.h}\end{CompactItemize}