]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCRawDataUnpackerComponent.h
7be86c50686d9baedfa77f1d21f28526dbde07cb
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCRawDataUnpackerComponent.h
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
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
14
15 #include "AliHLTProcessor.h"
16
17 class AliRawReaderMemory;
18 class AliTPCRawStream;
19
20 /**
21  * @class AliHLTTPCRawDataUnpackerComponent
22  * Unpacker component for TPC RAW data.
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