]>
Commit | Line | Data |
---|---|---|
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 | */ | |
36 | class 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 |