1 #ifndef ALIHLTPHOSRAWANALYZERCOMPONENTV2_H
2 #define ALIHLTPHOSRAWANALYZERCOMPONENTV2_H
4 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6 #include "AliHLTPHOSRcuProcessor.h"
9 class AliHLTPHOSRawAnalyzer;
10 class AliHLTPHOSRcuCellEnergyDataStruct;
11 class AliHLTPHOSMapper;
12 class AliHLTPHOSSanityInspector;
13 class AliAltroDecoder; // decoder for altro payload
14 class AliAltroData; // container for altro payload
15 class AliAltroBunch; // container for altro bunches
16 class AliHLTPHOSDigitMaker;
17 class AliHLTPHOSDigitContainerDataStruct;
20 class AliHLTPHOSRawAnalyzerComponentv2 : public AliHLTPHOSRcuProcessor
23 AliHLTPHOSRawAnalyzerComponentv2();
24 virtual ~AliHLTPHOSRawAnalyzerComponentv2();
25 virtual int DoInit(int argc =0, const char** argv = 0);
27 virtual const char* GetComponentID() = 0;
28 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);
29 virtual AliHLTComponentDataType GetOutputDataType();
30 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
31 virtual AliHLTComponent* Spawn() = 0;
34 AliHLTPHOSRawAnalyzer *fAnalyzerPtr; /**<Pointer to an analyzer object used for raw data anlysis*/
36 using AliHLTPHOSRcuProcessor::DoEvent;
37 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
38 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
39 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
41 virtual Int_t DoIt(const AliHLTComponentBlockData* iter, AliHLTUInt8_t* outputPtr, const AliHLTUInt32_t size, UInt_t& totSize);
44 AliHLTPHOSRawAnalyzerComponentv2(const AliHLTPHOSRawAnalyzerComponentv2 & );
45 AliHLTPHOSRawAnalyzerComponentv2 & operator = (const AliHLTPHOSRawAnalyzerComponentv2 &);
47 AliHLTPHOSMapper *fMapperPtr; //Mapping from harware address to geometrical address
48 AliHLTPHOSSanityInspector *fSanityInspectorPtr; //comment
50 AliAltroDecoder *fDecoderPtr; // decoder for altro payload
51 AliAltroData *fAltroDataPtr; // container for altro payload
52 AliAltroBunch *fAltroBunchPtr; // container for altro bunches
54 unsigned long fNCorruptedBlocks;
55 unsigned long fNOKBlocks;