1 #ifndef ALIHLTPHOSDDLDECODERCOMPONENT_H
2 #define ALIHLTPHOSDDLDECODERCOMPONENT_H
4 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 #include "AliHLTPHOSProcessor.h"
8 #include "AliHLTPHOSDefinitions.h"
9 #include "AliHLTPHOSCommonDefs.h"
12 class AliHLTPHOSRcuCellEnergyDataStruct;
13 class AliHLTPHOSRcuChannelDataStruct;
14 class AliHLTPHOSPulseGenerator;
15 class AliHLTPHOSDataCorruptor;
16 class AliRawReaderMemory;
17 class AliCaloRawStream;
19 class AliHLTPHOSDDLDecoderComponent:public AliHLTPHOSProcessor
22 AliHLTPHOSDDLDecoderComponent();
23 virtual ~AliHLTPHOSDDLDecoderComponent();
24 AliHLTPHOSDDLDecoderComponent(const AliHLTPHOSDDLDecoderComponent & );
25 AliHLTPHOSDDLDecoderComponent & operator = (const AliHLTPHOSDDLDecoderComponent &)
29 virtual int DoInit( int argc, const char** argv );
31 virtual const char* GetComponentID();
32 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
33 virtual AliHLTComponentDataType GetOutputDataType();
34 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
35 virtual AliHLTComponent* Spawn();
37 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
38 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
39 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
42 AliHLTPHOSDataCorruptor *fDataCorruptorPtr; /**<Pointer to data corruptor*/
43 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES]; /**<Temporary storage for altro dat from a single channel*/
44 AliCaloRawStream *fPHOSRawStream; /**<Streamer for PHOS raw data, used by fPHOSRawMemory reader*/
45 AliRawReaderMemory *fRawMemoryReader; /**<Decoder to read PHOS raw data on the altro format*/
46 AliHLTPHOSRcuChannelDataStruct* fOutPtr; /**<Pointer to outputbuffer to write results from the component into shared memory*/