]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCRawReaderPublisherComponent.h
removing deprecated functionality
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCRawReaderPublisherComponent.h
CommitLineData
686d5523 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTTPCRAWREADERPUBLISHERCOMPONENT_H
4#define ALIHLTTPCRAWREADERPUBLISHERCOMPONENT_H
5//* This file is property of and copyright by the ALICE HLT Project *
6//* ALICE Experiment at CERN, All rights reserved. *
7//* See cxx source for full Copyright notice *
8
9/// @file AliHLTTPCRawReaderPublisherComponent.h
10/// @author Matthias Richter
11/// @date 2011-11-18
12/// @brief Specific publisher for TPC raw data from the AliRawReader
13///
14
15#include "AliHLTRawReaderPublisherComponent.h"
16#include <map>
17
18/**
19 * @class AliHLTTPCRawReaderPublisherComponent
20 * This component uses the functionality of AliHLTRawReaderPublisherComponent
21 * and overloads IsSelected and GetSpecificationFromEquipmentId. Blocks are
22 * only generated if the corresponding partition is missing in HLTOUT.
23 *
24 * It is used in an emulation chain which produces all compressed cluster
25 * blocks which are missing in HLTOUT. If TPC reconstruction requires HLT
26 * clusters, the emulator is automatically executed and the compressed
27 * data produced if raw data is available.
28 *
29 * <h2>General properties:</h2>
30 *
31 * Component ID: \b TPCRawReaderPublisher <br>
32 * Library: \b libAliHLTTPC.so <br>
33 * Input Data Types: <br>
34 * Output Data Types: <br>
35 *
36 * <h2>Mandatory arguments:</h2>
37 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
38 *
39 * <h2>Optional arguments:</h2>
40 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
41
42 * <h2>Configuration:</h2>
43 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
44 *
45 * <h2>Default CDB entries:</h2>
46 *
47 * <h2>Performance:</h2>
48 *
49 * <h2>Memory consumption:</h2>
50 *
51 * <h2>Output size:</h2>
52 *
53 *
54 * @ingroup alihlt_tpc
55 */
56class AliHLTTPCRawReaderPublisherComponent : public AliHLTRawReaderPublisherComponent {
57public:
58 /// standard constructor
59 AliHLTTPCRawReaderPublisherComponent();
60 /// destructor
61 ~AliHLTTPCRawReaderPublisherComponent();
62
63 /// inherited from AliHLTComponent: id of the component
64 virtual const char* GetComponentID();
65
66 /// inherited from AliHLTComponent: spawn function.
67 virtual AliHLTComponent* Spawn();
68
69protected:
70 /// inherited from AliHLTDataSource: get one event
71 int GetEvent( const AliHLTComponentEventData& evtData,
72 AliHLTComponentTriggerData& trigData,
73 AliHLTUInt8_t* outputPtr,
74 AliHLTUInt32_t& size,
75 vector<AliHLTComponentBlockData>& outputBlocks );
76
77 /// inherited from AliHLTComponent: initialize
78 int DoInit( int argc, const char** argv );
79
80 /// inherited from AliHLTComponent: cleanup
81 int DoDeinit();
82
83 /// inherited from AliHLTComponent: argument scan
84 int ScanConfigurationArgument(int argc, const char** argv);
85
86 /// check the HLTOUT for availability of compressed data blocks
87 int InitMapFromHLTOUT(std::map<AliHLTUInt32_t, bool>& hltoutmap);
88
89 /// inherited from AliHLTRawReaderPublisherComponent: get specification
90 virtual int GetSpecificationFromEquipmentId(int id, AliHLTUInt32_t &specification) const;
91
92 /// inherited from AliHLTRawReaderPublisherComponent: check if a block is selected or not
93 virtual bool IsSelected(int equipmentId) const;
94
95private:
96 AliHLTTPCRawReaderPublisherComponent(const AliHLTTPCRawReaderPublisherComponent&);
97 AliHLTTPCRawReaderPublisherComponent& operator=(const AliHLTTPCRawReaderPublisherComponent&);
98
99 bool* fArraySelected; //! transient
100
101 ClassDef(AliHLTTPCRawReaderPublisherComponent, 0)
102};
103
104#endif //ALIHLTTPCRAWREADERPUBLISHERCOMPONENT_H