]>
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 | |
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 | */ |
42 | class 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 |