2 // @(#) $Id: AliHLTITSCompressRawDataSDDComponent.h 27006 2008-07-01 09:21:45Z richterm $
4 #ifndef ALIHLTITSCOMPRESSRAWDATASDDCOMPONENT_H
5 #define ALIHLTITSCOMPRESSRAWDATASDDCOMPONENT_H
7 //* This file is property of and copyright by the ALICE HLT Project *
8 //* ALICE Experiment at CERN, All rights reserved. *
9 //* See cxx source for full Copyright notice *
11 /** @file AliHLTITSCompressRawDataSDDComponent.cxx
12 @author Jochen Thaeder <thaeder@kip.uni-heidelberg.de>
14 @brief Component to run data compression for SDD
17 #include "AliHLTProcessor.h"
19 #include "AliRawReaderMemory.h"
21 #include "AliITSCompressRawDataSDD.h"
24 * @class AliHLTITSCompressRawDataSDDComponent
25 * Component to run data compression for SDD
27 * @ingroup alihlt_its_components
30 class AliHLTITSCompressRawDataSDDComponent : public AliHLTProcessor
35 * ---------------------------------------------------------------------------------
36 * Constructor / Destructor
37 * ---------------------------------------------------------------------------------
41 AliHLTITSCompressRawDataSDDComponent();
44 virtual ~AliHLTITSCompressRawDataSDDComponent();
47 * ---------------------------------------------------------------------------------
48 * Public functions to implement AliHLTComponent's interface.
49 * These functions are required for the registration process
50 * ---------------------------------------------------------------------------------
53 /** interface function, see @ref AliHLTComponent for description */
54 const char* GetComponentID();
56 /** interface function, see @ref AliHLTComponent for description */
57 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
59 /** interface function, see @ref AliHLTComponent for description */
60 AliHLTComponentDataType GetOutputDataType();
62 /** interface function, see @ref AliHLTComponent for description */
63 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
65 /** interface function, see @ref AliHLTComponent for description */
66 AliHLTComponent* Spawn();
71 * ---------------------------------------------------------------------------------
72 * Protected functions to implement AliHLTComponent's interface.
73 * These functions provide initialization as well as the actual processing
74 * capabilities of the component.
75 * ---------------------------------------------------------------------------------
79 Int_t DoInit( int argc, const char** argv );
81 /** DeInitialization */
85 Int_t DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
86 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
87 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
89 using AliHLTProcessor::DoEvent;
91 ///////////////////////////////////////////////////////////////////////////////////
95 /** copy constructor prohibited */
96 AliHLTITSCompressRawDataSDDComponent(const AliHLTITSCompressRawDataSDDComponent&);
97 /** assignment operator prohibited */
98 AliHLTITSCompressRawDataSDDComponent& operator=(const AliHLTITSCompressRawDataSDDComponent&);
101 * ---------------------------------------------------------------------------------
103 * ---------------------------------------------------------------------------------
106 /** the cluster finder object */
107 AliITSCompressRawDataSDD* fDataCompressor; //!transient
109 /** the reader object for data decoding */
110 AliRawReaderMemory* fRawReader; //!transient
112 ClassDef(AliHLTITSCompressRawDataSDDComponent, 0)