]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCRawDataUnpackerComponent.h
correct handling of multiple output data types
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCRawDataUnpackerComponent.h
CommitLineData
71d7c760 1// XEmacs -*-C++-*-
2// @(#) $Id$
3
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 */
8
e67b0680 9// see below for class documentation
10// or
11// refer to README to build package
12// or
13// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
71d7c760 14
15#include "AliHLTProcessor.h"
71d7c760 16
17class AliRawReaderMemory;
18class AliTPCRawStream;
19
e67b0680 20/**
21 * @class AliHLTTPCRawDataUnpackerComponent
22 * Unpacker component for TPC RAW data.
23 */
71d7c760 24class 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();
8ede8717 34 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
35 AliHLTComponentDataType GetOutputDataType();
71d7c760 36 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
37 AliHLTComponent* Spawn();
a655eae3 38
71d7c760 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();
8ede8717 47 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
48 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
49 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
71d7c760 50
51 private:
e419b223 52 /** not a valid copy constructor, defined according to effective C++ style */
53 AliHLTTPCRawDataUnpackerComponent(const AliHLTTPCRawDataUnpackerComponent&);
54 /** not a valid assignment op, but defined according to effective C++ style */
55 AliHLTTPCRawDataUnpackerComponent& operator=(const AliHLTTPCRawDataUnpackerComponent&);
71d7c760 56
57 // Initialize AliROOT TPC raw stream parsing class
e67b0680 58 AliRawReaderMemory *fRawMemoryReader; //! transient
59 AliTPCRawStream *fTPCRawStream; //! transient
71d7c760 60
e67b0680 61 ClassDef(AliHLTTPCRawDataUnpackerComponent, 0);
71d7c760 62
63 };
64#endif