]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSProcessor.h
- changes to make the clusterisation work for EMCAL
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSProcessor.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTPHOSPROCESSOR_H
5 #define ALIHLTPHOSPROCESSOR_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7  * See cxx source for full Copyright notice                               */
8
9 #include "AliHLTProcessor.h"
10 //#include "AliHLTPHOSBase.h"
11 #include "AliHLTPHOSDefinitions.h"
12 #include "AliHLTDataTypes.h"
13 #include "AliHLTPHOSConstant.h"
14
15 using namespace PhosHLTConst;
16
17 //class AliHLTPHOSProcessor:public AliHLTProcessor, public AliHLTPHOSBase
18 class AliHLTPHOSProcessor:public AliHLTProcessor
19 {
20
21  public:
22   AliHLTPHOSProcessor();
23   virtual ~AliHLTPHOSProcessor();
24   virtual int DoInit(int argc, const char** argv) = 0;
25   virtual int Deinit() = 0;
26   virtual const char* GetComponentID() = 0;
27   virtual void GetInputDataTypes( std::vector <AliHLTComponentDataType>& list) =0;
28   virtual AliHLTComponentDataType GetOutputDataType() =0;
29   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier) =0;
30   virtual AliHLTComponent* Spawn() = 0; 
31
32
33   char lineNumber[256];
34   const char *IntToChar(int number);
35   /*
36    *Check file and write messages to AliLog system
37    */
38   bool CheckFileLog(const char *origin, const char *filename, const char *opt);
39   void DoneWritingLog(const char *origin, const char *filename);
40
41   using  AliHLTProcessor::DoEvent;
42
43  protected:
44   void ScanRunNumberFromFile();
45   virtual int ScanArgumentsModule(int argc, const char** argv);
46   int fPhosEventCount;                  /**<Global event counter for this component*/
47   AliHLTUInt8_t  fModuleID;             /**<ID of the module this component read data from (0-4)*/
48
49   Bool_t fPrintInfoModule;                    /**<wether or not to print debugg info to std out*/
50   int fPrintInfoFrequncyModule;               /**<Defines the update frequency for information printet to std out*/
51
52   static const AliHLTComponentDataType fgkInputDataTypes[]; /**<List of  datatypes that can be given to this component*/
53   int fRunNumber;
54   char fFilepath[1024];
55   char fMessage[1024];
56
57  private:
58   AliHLTPHOSProcessor(const AliHLTPHOSProcessor & );
59   AliHLTPHOSProcessor & operator = (const AliHLTPHOSProcessor &);
60
61 };
62
63
64 #endif