]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/AliHLTOUTHandlerEquId.h
- bugfix component handler: library load via gSystem pretended to fail in some
[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
20 * HLT output handler returning equipment ids for redirection of data blocks
21 * of the HLTOUT stream to the original detector streams.
22 *
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.
30 *
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.
35 */
36class AliHLTOUTHandlerEquId : public AliHLTOUTHandler {
37 public:
38 /** standard constructor */
39 AliHLTOUTHandlerEquId();
40 /** standard destructor */
41 virtual ~AliHLTOUTHandlerEquId();
42
43 /**
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.
49 */
50 virtual int ProcessData(AliHLTOUT* pData);
51
52 private:
53 /** copy constructor prohibited */
54 AliHLTOUTHandlerEquId(const AliHLTOUTHandlerEquId&);
55 /** assignment operator prohibited */
56 AliHLTOUTHandlerEquId& operator=(const AliHLTOUTHandlerEquId&);
57
58 ClassDef(AliHLTOUTHandlerEquId, 0)
59};
60#endif