A new structure AliHLTPHOSValidCellDataStruct.h was added in order to improve
[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 AliHLTPHOSRcuCellEnergyDataStruct;
14
15
16 class AliHLTPHOSRawAnalyzerComponent: public AliHLTProcessor
17 {
18  public:
19
20   AliHLTPHOSRawAnalyzerComponent();
21   ~AliHLTPHOSRawAnalyzerComponent();
22   AliHLTPHOSRawAnalyzerComponent(const AliHLTPHOSRawAnalyzerComponent & );
23   AliHLTPHOSRawAnalyzerComponent & operator = (const AliHLTPHOSRawAnalyzerComponent &)
24    {
25       return *this;
26    };
27
28   virtual int DoInit( int argc, const char** argv );
29   virtual int Deinit();
30   virtual int DoDeinit();
31   void DumpData();
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> >&);
41
42  protected:
43   AliHLTPHOSRawAnalyzer *analyzerPtr; 
44   void Reset();
45   void ResetDataPtr();
46
47  private:
48   static int fEventCount;
49   AliHLTUInt32_t fEquippmentID;
50   AliHLTUInt16_t fRcuX;
51   AliHLTUInt16_t fRcuZ;
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[];
61 };
62 #endif