52c7c97c790e65829edf3ec3ff2290764df9fbd3
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponent.h
1 #ifndef ALIHLTPHOSRAWANALYZERCOMPONENT_H
2 #define ALIHLTPHOSRAWANALYZERCOMPONENT_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
13 class AliHLTPHOSRawAnalyzerComponent: public AliHLTProcessor
14 {
15  public:
16   AliHLTPHOSRawAnalyzerComponent();
17   ~AliHLTPHOSRawAnalyzerComponent();
18   AliHLTPHOSRawAnalyzerComponent(const AliHLTPHOSRawAnalyzerComponent & );
19   AliHLTPHOSRawAnalyzerComponent & operator = (const AliHLTPHOSRawAnalyzerComponent &)
20    {
21       return *this;
22    };
23
24   virtual int DoInit( int argc, const char** argv );
25   virtual int Deinit();
26   virtual int DoDeinit();
27   void DumpData();
28   void SetEquippmentID(AliHLTUInt32_t id);
29   int GetEquippmentID();
30   void SetCoordinates( AliHLTUInt32_t equippmentID);
31   virtual const char* GetComponentID() = 0;
32   virtual void GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&);
33   virtual AliHLTComponentDataType GetOutputDataType();
34   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
35   virtual AliHLTComponent* Spawn() = 0;
36   virtual int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*, AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&, std::vector<AliHLTComponentBlockData, std::allocator<AliHLTComponentBlockData> >&);
37
38  protected:
39   AliHLTPHOSRawAnalyzer *analyzerPtr; 
40   void Reset();
41   void ResetDataPtr();
42
43  private:
44   int fEventCount;
45   AliHLTUInt32_t fEquippmentID;
46   AliHLTUInt16_t fRcuX;
47   AliHLTUInt16_t fRcuZ;
48   AliHLTUInt16_t fRcuRowOffeset;
49   AliHLTUInt16_t fRcuColOffeset;
50   AliHLTUInt16_t fModuleID;
51   Double_t fTmpChannelData[1008];
52   Double_t fMaxValues[5][64][56][2];
53   AliCaloRawStream *fPHOSRawStream;
54   AliRawReaderMemory *fRawMemoryReader;
55   static const AliHLTComponentDataType inputDataTypes[];
56 };
57 #endif