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 */
6 #include "AliHLTProcessor.h"
7 #include "AliHLTPHOSBase.h"
8 #include "AliHLTPHOSDefinitions.h"
9 #include "AliHLTDataTypes.h"
11 using namespace PhosHLTConst;
13 class AliHLTPHOSProcessor:public AliHLTProcessor, public AliHLTPHOSBase
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;
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*/
34 AliHLTPHOSProcessor(const AliHLTPHOSProcessor & );
35 AliHLTPHOSProcessor & operator = (const AliHLTPHOSProcessor &);