]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSProcessor.h
Copyright notice
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSProcessor.h
1 #ifndef ALIHLTPHOSPROCESSOR_H
2 #define ALIHLTPHOSPROCESSOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 #include "AliHLTProcessor.h"
7 #include "AliHLTPHOSBase.h"
8 #include "AliHLTPHOSDefinitions.h"
9 #include "AliHLTDataTypes.h"
10
11 using namespace PhosHLTConst;
12
13 class AliHLTPHOSProcessor:public AliHLTProcessor, public AliHLTPHOSBase
14 {
15
16  public:
17   AliHLTPHOSProcessor();
18   virtual ~AliHLTPHOSProcessor();
19   virtual int DoInit(int argc, const char** argv) = 0;
20   virtual int Deinit() = 0;
21   virtual const char* GetComponentID() = 0;
22   virtual void GetInputDataTypes( std::vector <AliHLTComponentDataType>& list) =0;
23   virtual AliHLTComponentDataType GetOutputDataType() =0;
24   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier) =0;
25   virtual AliHLTComponent* Spawn() = 0; 
26
27  protected:
28   int fPhosEventCount;                  /**<Global event counter for this component*/
29   AliHLTUInt8_t  fModuleID;             /**<ID of the module this component read data from (0-4)*/
30   Bool_t fPrintInfo;                    /**<wether or not to print debugg info to std out*/
31   int fPrintInfoFrequncy;               /**<Defines the update frequency for information printet to std out*/
32   static const AliHLTComponentDataType fgkInputDataTypes[]; /**<List of  datatypes that can be given to this component*/
33  private:
34   AliHLTPHOSProcessor(const AliHLTPHOSProcessor & );
35   AliHLTPHOSProcessor & operator = (const AliHLTPHOSProcessor &);
36
37 };
38
39
40 #endif