e23bc05c90102837dc454bae4032c509f5ddfdad
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSProcessor.h
1 #ifndef ALIHLTPHOSPROCESSOR_H
2 #define ALIHLTPHOSPROCESSOR_H
3
4 #include "AliHLTProcessor.h"
5
6 class 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