1 // @(#) $Id: AliHLTITSCompressRawDataSDDComponent.h 27006 2008-07-01 09:21:45Z richterm $
3 #ifndef ALIHLTITSCOMPRESSRAWDATASDDCOMPONENT_H
4 #define ALIHLTITSCOMPRESSRAWDATASDDCOMPONENT_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 *
10 /** @file AliHLTITSCompressRawDataSDDComponent.cxx
11 @author Jochen Thaeder <thaeder@kip.uni-heidelberg.de>
13 @brief Component to run data compression for SDD
16 #include "AliHLTProcessor.h"
18 #include "AliRawReaderMemory.h"
20 #include "AliITSCompressRawDataSDD.h"
23 * @class AliHLTITSCompressRawDataSDDComponent
24 * Component to run data compression for SDD
26 * @ingroup alihlt_its_components
29 class AliHLTITSCompressRawDataSDDComponent : public AliHLTProcessor
34 * ---------------------------------------------------------------------------------
35 * Constructor / Destructor
36 * ---------------------------------------------------------------------------------
40 AliHLTITSCompressRawDataSDDComponent();
43 virtual ~AliHLTITSCompressRawDataSDDComponent();
46 * ---------------------------------------------------------------------------------
47 * Public functions to implement AliHLTComponent's interface.
48 * These functions are required for the registration process
49 * ---------------------------------------------------------------------------------
52 /** interface function, see @ref AliHLTComponent for description */
53 const char* GetComponentID();
55 /** interface function, see @ref AliHLTComponent for description */
56 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
58 /** interface function, see @ref AliHLTComponent for description */
59 AliHLTComponentDataType GetOutputDataType();
61 /** interface function, see @ref AliHLTComponent for description */
62 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
64 /** interface function, see @ref AliHLTComponent for description */
65 AliHLTComponent* Spawn();
70 * ---------------------------------------------------------------------------------
71 * Protected functions to implement AliHLTComponent's interface.
72 * These functions provide initialization as well as the actual processing
73 * capabilities of the component.
74 * ---------------------------------------------------------------------------------
78 Int_t DoInit( int argc, const char** argv );
80 /** DeInitialization */
84 Int_t DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
85 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
86 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
88 using AliHLTProcessor::DoEvent;
90 ///////////////////////////////////////////////////////////////////////////////////
94 /** copy constructor prohibited */
95 AliHLTITSCompressRawDataSDDComponent(const AliHLTITSCompressRawDataSDDComponent&);
96 /** assignment operator prohibited */
97 AliHLTITSCompressRawDataSDDComponent& operator=(const AliHLTITSCompressRawDataSDDComponent&);
100 * ---------------------------------------------------------------------------------
102 * ---------------------------------------------------------------------------------
105 /** the cluster finder object */
106 AliITSCompressRawDataSDD* fDataCompressor; //!transient
108 /** the reader object for data decoding */
109 AliRawReaderMemory* fRawReader; //!transient
111 ClassDef(AliHLTITSCompressRawDataSDDComponent, 0)