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 "AliHLTProcessor.h"
8 #include "AliHLTPHOSRawAnalyzer.h"
9 #include "AliRawReaderMemory.h"
10 #include "AliCaloRawStream.h"
11 #include "AliHLTPHOSDefinitions.h"
12 #include "AliHLTPHOSCommonDefs.h"
13 #include "AliHLTPHOSRcuChannelDataStruct.h"
16 class AliHLTPHOSRcuCellEnergyDataStruct;
17 class AliHLTPHOSRcuChannelDataStruct;
19 class AliHLTPHOSDDLDecoderComponent:public AliHLTProcessor
23 AliHLTPHOSDDLDecoderComponent();
24 virtual ~AliHLTPHOSDDLDecoderComponent();
25 AliHLTPHOSDDLDecoderComponent(const AliHLTPHOSDDLDecoderComponent & );
26 AliHLTPHOSDDLDecoderComponent & operator = (const AliHLTPHOSDDLDecoderComponent &)
31 virtual int DoInit( int argc, const char** argv );
33 virtual int DoDeinit();
34 void SetEquippmentID(AliHLTUInt16_t id);
35 AliHLTUInt16_t GetEquippmentID();
36 void SetCoordinates(AliHLTUInt16_t equippmentID);
37 virtual const char* GetComponentID();
38 virtual void GetInputDataTypes( std::vector <AliHLTComponentDataType>&);
39 virtual AliHLTComponentDataType GetOutputDataType();
40 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
41 virtual AliHLTComponent* Spawn();
43 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
44 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
45 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
48 static int fgEventCount;
49 AliHLTUInt16_t fEquippmentID;
52 AliHLTUInt8_t fRcuZOffset;
53 AliHLTUInt8_t fRcuXOffset;
54 AliHLTUInt8_t fModuleID;
55 Bool_t fSendChannelData;
57 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES];
58 int fPrintInfoFrequncy;
59 AliCaloRawStream *fPHOSRawStream;
60 AliRawReaderMemory *fRawMemoryReader;
61 AliHLTPHOSRcuChannelDataStruct* fOutPtr;
62 static const AliHLTComponentDataType fgkInputDataTypes[];