]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSProcessor.h
completely re-worked TPC CA tracking code (Sergey/Ivan)
[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
28  protected:
29   void ScanRunNumberFromFile();
30   int fPhosEventCount;                  /**<Global event counter for this component*/
31   AliHLTUInt8_t  fModuleID;             /**<ID of the module this component read data from (0-4)*/
32   Bool_t fPrintInfo;                    /**<wether or not to print debugg info to std out*/
33   int fPrintInfoFrequncy;               /**<Defines the update frequency for information printet to std out*/
34   static const AliHLTComponentDataType fgkInputDataTypes[]; /**<List of  datatypes that can be given to this component*/
35   int fRunNumber;
36  private:
37   AliHLTPHOSProcessor(const AliHLTPHOSProcessor & );
38   AliHLTPHOSProcessor & operator = (const AliHLTPHOSProcessor &);
39
40 };
41
42
43 #endif