- adjusting binning of pad histograms to make single pad cluster contribution and...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCRawDataUnpackerComponent.h
1 // XEmacs -*-C++-*-
2 // @(#) $Id$
3
4 #ifndef ALIHLTTPCRAWDATAUNPACKERCOMPONENT_H
5 #define ALIHLTTPCRAWDATAUNPACKERCOMPONENT_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 #include "AliHLTProcessor.h"
11
12 class AliRawReaderMemory;
13 class AliTPCRawStream;
14
15 /**
16  * @class AliHLTTPCRawDataUnpackerComponent
17  * Unpacker component for TPC RAW data.
18  *
19  * @note Old remnant and never used in the new online interface. Became
20  *       obsolete with the introduction of DigitReaders. Maybe we want to
21  *       convert this component into a tool.
22  * @ingroup alihlt_tpc_components
23  */
24 class AliHLTTPCRawDataUnpackerComponent : public AliHLTProcessor
25     {
26     public:
27         AliHLTTPCRawDataUnpackerComponent();
28         virtual ~AliHLTTPCRawDataUnpackerComponent();
29
30         // Public functions to implement AliHLTComponent's interface.
31         // These functions are required for the registration process
32
33         const char* GetComponentID();
34         void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
35         AliHLTComponentDataType GetOutputDataType();
36         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
37         AliHLTComponent* Spawn();
38
39     protected:
40         
41         // Protected functions to implement AliHLTComponent's interface.
42         // These functions provide initialization as well as the actual processing
43         // capabilities of the component. 
44
45         int DoInit( int argc, const char** argv );
46         int DoDeinit();
47         int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
48                      AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
49                      AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
50
51         using AliHLTProcessor::DoEvent;
52         
53     private:
54       /** copy constructor prohibited */
55       AliHLTTPCRawDataUnpackerComponent(const AliHLTTPCRawDataUnpackerComponent&);
56       /** assignment operator prohibited */
57       AliHLTTPCRawDataUnpackerComponent& operator=(const AliHLTTPCRawDataUnpackerComponent&);
58
59         // Initialize AliROOT TPC raw stream parsing class
60       AliRawReaderMemory *fRawMemoryReader; //! transient
61       AliTPCRawStream *fTPCRawStream; //! transient
62
63       ClassDef(AliHLTTPCRawDataUnpackerComponent, 0);
64
65     };
66 #endif