]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/AliHLTOUTHandlerEquId.h
finalizing DataGenerator component producing fake data for benchmark purpose
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTOUTHandlerEquId.h
CommitLineData
626bfcc1 1//-*- Mode: C++ -*-
2// $Id$
3
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 *
9
10/** @file AliHLTOUTHandlerEquId.h
11 @author Matthias Richter
12 @date
13 @brief HLTOUT handler returning equipment id from data type and spec.
14*/
15
16#include "AliHLTOUTHandler.h"
17
18/**
19 * @class AliHLTOUTHandlerEquId
9d4cf2ab 20 * Base class for DDL raw data redirection handlers.
21 *
22 * HLTOUT handlers of this type are used for the replacement of detector
23 * reconstruction input by the corresponding data from the HLT output.
24 * From the data type and specification of an HLT output block the
25 * corresponding equipment id of the original detector streams is determined.
626bfcc1 26 *
27 * The class introduces a layer in the HLTOUT handler hierarchy in order to
28 * collect all handlers which can be used by the AliRawReaderHLT for
29 * redirection of HLTOUT data blocks and replacement of original detector
30 * data. The common denominator of all those handlers is the data format.
9d4cf2ab 31 * The data block itself or the decoded data produced by the handler have
626bfcc1 32 * exactly the detector raw data format. Thus, the data streams can be
33 * transparently replaced in the AliRoot reconstruction.
34 *
35 * The handler might produce decoded data from the data block in order
36 * the get the right data format. The AliRawReaderHLT will try to fetch
37 * those data by calling AliHLTOUTHandler::GetProcessedData(). If no data
9d4cf2ab 38 * is provided, the input block itself is treated as the data to redirect.
39 *
40 * @ingroup alihlt_aliroot_reconstruction
626bfcc1 41 */
42class AliHLTOUTHandlerEquId : public AliHLTOUTHandler {
43 public:
44 /** standard constructor */
45 AliHLTOUTHandlerEquId();
46 /** standard destructor */
47 virtual ~AliHLTOUTHandlerEquId();
48
49 /**
50 * Process a data block.
51 * The handler retrieves the data and it's properties and derives the
52 * equipment id from it. The default behavior returns the specification as
9d4cf2ab 53 * equipment id and does not touch the data itself.
626bfcc1 54 * @return equipment id the block should be used for.
55 */
56 virtual int ProcessData(AliHLTOUT* pData);
57
58 private:
59 /** copy constructor prohibited */
60 AliHLTOUTHandlerEquId(const AliHLTOUTHandlerEquId&);
61 /** assignment operator prohibited */
62 AliHLTOUTHandlerEquId& operator=(const AliHLTOUTHandlerEquId&);
63
64 ClassDef(AliHLTOUTHandlerEquId, 0)
65};
66#endif