General purphose component (Oystein)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSSandboxComponent.h
1 #ifndef ALIHLTPHOSSANDBOXCOMPONENT
2 #define ALIHLTPHOSSANDBOXCOMPONENT
3
4 #include "AliHLTPHOSChannelCounter.h"
5 #include "AliHLTPHOSRcuCellEnergyDataStruct.h"
6 #include "AliHLTPHOSProcessor.h"
7
8 class AliHLTPHOSSandboxComponent : public AliHLTPHOSProcessor
9 {
10 public:
11   AliHLTPHOSSandboxComponent();
12   ~AliHLTPHOSSandboxComponent();
13
14
15   /*  AliHLTPHOSSandboxComponent(const AliHLTPHOSSandboxComponent &);
16   AliHLTPHOSSandboxComponent & operator = (const AliHLTPHOSSandboxComponent &)
17   {
18     return *this;
19     }*/
20
21   const char* GetComponentID();
22
23   void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
24
25   AliHLTComponentDataType GetOutputDataType();
26
27   void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
28
29   /*
30   int DoProcessing(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
31               AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
32                    std::vector<AliHLTComponentBlockData>&, AliHLTComponentEventDoneData *&);
33   */
34   int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
35               AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
36                    std::vector<AliHLTComponentBlockData>&);
37
38   AliHLTComponent* Spawn();
39   
40 protected:
41   int DoInit(int argc, const char** argv);
42   virtual int Deinit(); ////////// PTH WARNING you should Define a class AliHLTPHOSModuleProcessor
43
44   virtual int AliHLTPHOSSandboxComponent::DoDeinit();
45   
46 private:
47
48   Int_t fEventCount;
49   AliHLTPHOSChannelCounter *fChannelCounterPtr;
50   
51   static const AliHLTComponentDataType fgkInputDataTypes[];     //HLT input data type
52 };
53 #endif