4 #ifndef ALIHLTTPCRAWDATAUNPACKERCOMPONENT_H
5 #define ALIHLTTPCRAWDATAUNPACKERCOMPONENT_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
9 // see below for class documentation
11 // refer to README to build package
13 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
15 #include "AliHLTProcessor.h"
17 class AliRawReaderMemory;
18 class AliTPCRawStream;
21 * @class AliHLTTPCRawDataUnpackerComponent
22 * Unpacker component for TPC RAW data.
24 class AliHLTTPCRawDataUnpackerComponent : public AliHLTProcessor
27 AliHLTTPCRawDataUnpackerComponent();
28 virtual ~AliHLTTPCRawDataUnpackerComponent();
30 // Public functions to implement AliHLTComponent's interface.
31 // These functions are required for the registration process
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();
41 // Protected functions to implement AliHLTComponent's interface.
42 // These functions provide initialization as well as the actual processing
43 // capabilities of the component.
45 int DoInit( int argc, const char** argv );
47 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
48 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
49 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
51 using AliHLTProcessor::DoEvent;
54 /** copy constructor prohibited */
55 AliHLTTPCRawDataUnpackerComponent(const AliHLTTPCRawDataUnpackerComponent&);
56 /** assignment operator prohibited */
57 AliHLTTPCRawDataUnpackerComponent& operator=(const AliHLTTPCRawDataUnpackerComponent&);
59 // Initialize AliROOT TPC raw stream parsing class
60 AliRawReaderMemory *fRawMemoryReader; //! transient
61 AliTPCRawStream *fTPCRawStream; //! transient
63 ClassDef(AliHLTTPCRawDataUnpackerComponent, 0);