1 #ifndef ALIHLTPHOSRAWANALYZERCOMPONENT_H
2 #define ALIHLTPHOSRAWANALYZERCOMPONENT_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"
13 class AliHLTPHOSRcuCellEnergyDataStruct;
16 class AliHLTPHOSRawAnalyzerComponent: public AliHLTProcessor
20 AliHLTPHOSRawAnalyzerComponent();
21 ~AliHLTPHOSRawAnalyzerComponent();
22 AliHLTPHOSRawAnalyzerComponent(const AliHLTPHOSRawAnalyzerComponent & );
23 AliHLTPHOSRawAnalyzerComponent & operator = (const AliHLTPHOSRawAnalyzerComponent &)
28 virtual int DoInit( int argc, const char** argv );
30 virtual int DoDeinit();
32 void SetEquippmentID(AliHLTUInt32_t id);
33 int GetEquippmentID();
34 void SetCoordinates( AliHLTUInt32_t equippmentID);
35 virtual const char* GetComponentID() = 0;
36 virtual void GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&);
37 virtual AliHLTComponentDataType GetOutputDataType();
38 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
39 virtual AliHLTComponent* Spawn() = 0;
40 virtual int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*, AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&, std::vector<AliHLTComponentBlockData, std::allocator<AliHLTComponentBlockData> >&);
43 AliHLTPHOSRawAnalyzer *analyzerPtr;
48 static int fEventCount;
49 AliHLTUInt32_t fEquippmentID;
52 AliHLTUInt16_t fRcuRowOffeset;
53 AliHLTUInt16_t fRcuColOffeset;
54 AliHLTUInt16_t fModuleID;
55 Double_t fTmpChannelData[1008];
56 Double_t fMaxValues[5][64][56][2];
57 AliCaloRawStream *fPHOSRawStream;
58 AliRawReaderMemory *fRawMemoryReader;
59 AliHLTPHOSRcuCellEnergyDataStruct* outPtr;
60 static const AliHLTComponentDataType inputDataTypes[];