4 #ifndef ALIHLTOUTHANDLEREQUID_H
5 #define ALIHLTOUTHANDLEREQUID_H
6 //* This file is property of and copyright by the ALICE HLT Project *
7 //* ALICE Experiment at CERN, All rights reserved. *
8 //* See cxx source for full Copyright notice *
10 /** @file AliHLTOUTHandlerEquId.h
11 @author Matthias Richter
13 @brief HLTOUT handler returning equipment id from data type and spec.
16 #include "AliHLTOUTHandler.h"
19 * @class AliHLTOUTHandlerEquId
20 * HLT output handler returning equipment ids for redirection of data blocks
21 * of the HLTOUT stream to the original detector streams.
23 * The class introduces a layer in the HLTOUT handler hierarchy in order to
24 * collect all handlers which can be used by the AliRawReaderHLT for
25 * redirection of HLTOUT data blocks and replacement of original detector
26 * data. The common denominator of all those handlers is the data format.
27 * The data block itsself or the decoded data produced by the handler have
28 * exactly the detector raw data format. Thus, the data streams can be
29 * transparently replaced in the AliRoot reconstruction.
31 * The handler might produce decoded data from the data block in order
32 * the get the right data format. The AliRawReaderHLT will try to fetch
33 * those data by calling AliHLTOUTHandler::GetProcessedData(). If no data
34 * is provided, the input block itsself is treated as the data to redirect.
36 class AliHLTOUTHandlerEquId : public AliHLTOUTHandler {
38 /** standard constructor */
39 AliHLTOUTHandlerEquId();
40 /** standard destructor */
41 virtual ~AliHLTOUTHandlerEquId();
44 * Process a data block.
45 * The handler retrieves the data and it's properties and derives the
46 * equipment id from it. The default behavior returns the specification as
47 * equipment id and does not touch the data itsself.
48 * @return equipment id the block should be used for.
50 virtual int ProcessData(AliHLTOUT* pData);
53 /** copy constructor prohibited */
54 AliHLTOUTHandlerEquId(const AliHLTOUTHandlerEquId&);
55 /** assignment operator prohibited */
56 AliHLTOUTHandlerEquId& operator=(const AliHLTOUTHandlerEquId&);
58 ClassDef(AliHLTOUTHandlerEquId, 0)