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;
27 const char *IntToChar(int number);
29 *Check file and write messages to AliLog system
31 bool CheckFileLog(const char *origin, const char *filename, const char *opt);
32 void DoneWritingLog(const char *origin, const char *filename);
34 using AliHLTProcessor::DoEvent;
37 void ScanRunNumberFromFile();
38 virtual int ScanArguments(int argc, const char** argv);
39 int fPhosEventCount; /**<Global event counter for this component*/
40 AliHLTUInt8_t fModuleID; /**<ID of the module this component read data from (0-4)*/
41 Bool_t fPrintInfo; /**<wether or not to print debugg info to std out*/
42 int fPrintInfoFrequncy; /**<Defines the update frequency for information printet to std out*/
43 static const AliHLTComponentDataType fgkInputDataTypes[]; /**<List of datatypes that can be given to this component*/
49 AliHLTPHOSProcessor(const AliHLTPHOSProcessor & );
50 AliHLTPHOSProcessor & operator = (const AliHLTPHOSProcessor &);