137e886f44249f553b8e06969ceda1cd65ed3b58
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponent.h
1
2
3 #ifndef ALIHLTPHOSRAWANALYZERCOMPONENT_H
4 #define ALIHLTPHOSRAWANALYZERCOMPONENT_H
5
6 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
7  * See cxx source for full Copyright notice                          */
8
9 #include "AliHLTProcessor.h"
10 #include "AliHLTPHOSRawAnalyzer.h"
11 #include "AliRawReaderMemory.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
28   virtual const char* GetComponentID() = 0;
29
30   virtual void GetInputDataTypes(std::vector<AliHLTComponentDataType, std::allocator<AliHLTComponentDataType> >&);
31   virtual AliHLTComponentDataType GetOutputDataType();
32   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
33   virtual AliHLTComponent* Spawn() = 0;
34
35   virtual int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*, AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&, std::vector<AliHLTComponentBlockData, std::allocator<AliHLTComponentBlockData> >&);
36
37   // private:
38  protected:
39  AliHLTPHOSRawAnalyzer *analyzerPtr; 
40
41  private:
42  int eventCount;
43 AliRawReaderMemory *fRawMemoryReader;
44   static const AliHLTComponentDataType inputDataTypes[];
45   static const AliHLTComponentDataType outputDataType;
46
47 };
48 #endif