]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSDDLDecoderComponent.h
New class structure
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSDDLDecoderComponent.h
CommitLineData
dde08eb6 1#ifndef ALIHLTPHOSDDLDECODERCOMPONENT_H
2#define ALIHLTPHOSDDLDECODERCOMPONENT_H
3
4/* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
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"
d504c864 14#include <cstdlib>
dde08eb6 15
16class AliHLTPHOSRcuCellEnergyDataStruct;
17class AliHLTPHOSRcuChannelDataStruct;
18
19class AliHLTPHOSDDLDecoderComponent:public AliHLTProcessor
20
21{
22 public:
d504c864 23 AliHLTPHOSDDLDecoderComponent();
dde08eb6 24 virtual ~AliHLTPHOSDDLDecoderComponent();
d504c864 25 AliHLTPHOSDDLDecoderComponent(const AliHLTPHOSDDLDecoderComponent & );
26 AliHLTPHOSDDLDecoderComponent & operator = (const AliHLTPHOSDDLDecoderComponent &)
27 {
dde08eb6 28 return *this;
d504c864 29 };
dde08eb6 30
31 virtual int DoInit( int argc, const char** argv );
32 virtual int Deinit();
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();
d504c864 38 virtual void GetInputDataTypes( std::vector <AliHLTComponentDataType>&);
dde08eb6 39 virtual AliHLTComponentDataType GetOutputDataType();
40 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
41 virtual AliHLTComponent* Spawn();
d504c864 42
43 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
44 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
45 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
46
dde08eb6 47 private:
48 static int fgEventCount;
49 AliHLTUInt16_t fEquippmentID;
50 AliHLTUInt8_t fRcuX;
51 AliHLTUInt8_t fRcuZ;
52 AliHLTUInt8_t fRcuZOffset;
53 AliHLTUInt8_t fRcuXOffset;
54 AliHLTUInt8_t fModuleID;
55 Bool_t fSendChannelData;
56 Bool_t fPrintInfo;
57 Double_t fTmpChannelData[ALTRO_MAX_SAMPLES];
58 int fPrintInfoFrequncy;
59 AliCaloRawStream *fPHOSRawStream;
60 AliRawReaderMemory *fRawMemoryReader;
61 AliHLTPHOSRcuChannelDataStruct* fOutPtr;
62 static const AliHLTComponentDataType fgkInputDataTypes[];
63};
64#endif
65