New base class for all PHOS HLT processing component.
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSProcessor.h
CommitLineData
c83e4f55 1#ifndef ALIHLTPHOSPROCESSOR_H
2#define ALIHLTPHOSPROCESSOR_H
3
4#include "AliHLTProcessor.h"
5
6class AliHLTPHOSProcessor:public AliHLTProcessor
7{
8 public:
9 AliHLTPHOSProcessor();
10 virtual ~AliHLTPHOSProcessor();
11 AliHLTPHOSProcessor(const AliHLTPHOSProcessor & );
12 AliHLTPHOSProcessor & operator = (const AliHLTPHOSProcessor &)
13 {
14 return *this;
15 };
16
17 virtual int DoInit(int argc, const char** argv) = 0;
18 virtual int Deinit() = 0;
19 virtual const char* GetComponentID() = 0;
20 const AliHLTUInt16_t GetEquippmentID() const;
21 virtual void GetInputDataTypes( std::vector <AliHLTComponentDataType>& list) =0;
22 virtual AliHLTComponentDataType GetOutputDataType() =0;
23 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier) =0;
24 virtual AliHLTComponent* Spawn() = 0;
25 protected:
26 int fPhosEventCount; /**<Global event counter for this component*/
27 const AliHLTUInt16_t fkEquippmentID; /**<Equippment ID as defined by ALICE*/
28 AliHLTUInt8_t fModuleID; /**<ID of the module this component read data from (0-4)*/
29 AliHLTUInt8_t fRcuX; /**<X position of RCU the data from this Equippment comes from (0 or 1)*/
30 AliHLTUInt8_t fRcuZ; /**<Z position of RCU the data from this Equippment comes from (0 or 1)*/
31 AliHLTUInt8_t fRcuZOffset; /**<offset in therms of towers in the Z direction relative to the module*/
32 AliHLTUInt8_t fRcuXOffset; /**<offset in therms of towers in the X direction relative to the module*/
33 Bool_t fPrintInfo; /**<wether or not to print debugg info to std out*/
34 Bool_t fIsSetEquippmentID; /**<wether or not the EquippmentID is set*/
35 int fPrintInfoFrequncy; /**<Defines the update frequency for information printet to std out*/
36 void SetEquippmentID(AliHLTUInt16_t id);
37 void SetCoordinates(AliHLTUInt16_t equippmentID);
38 int ScanArguments(int argc, const char** argv);
39 static const AliHLTComponentDataType fgkInputDataTypes[]; /**<List of datatypes that can be given to this component*/
40 private:
41
42
43};
44
45
46#endif