]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/CALO/AliHLTCaloProcessor.h
Refactoring and moving some PHOS code which will be used for both calorimeters to...
[u/mrichter/AliRoot.git] / HLT / CALO / AliHLTCaloProcessor.h
1 //-*- Mode: C++ -*-
2 // $Id: AliHLTCaloProcessor.h 29824 2008-11-10 13:43:55Z richterm $
3
4 #ifndef ALIHLTCALOPROCESSOR_H
5 #define ALIHLTCALOPROCESSOR_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 "AliHLTCaloBase.h"
11 #include "AliHLTCaloDefinitions.h"
12 #include "AliHLTDataTypes.h"
13 #include "AliHLTCaloConstants.h"
14
15 using namespace CaloHLTConst;
16
17 class AliHLTCaloProcessor:public AliHLTProcessor //public AliHLTCaloBase
18 {
19
20  public:
21   AliHLTCaloProcessor();
22   virtual ~AliHLTCaloProcessor();
23   virtual int DoInit(int argc, const char** argv) = 0;
24   virtual int Deinit() = 0;
25   virtual const char* GetComponentID() = 0;
26   virtual void GetInputDataTypes( std::vector <AliHLTComponentDataType>& list) =0;
27   virtual AliHLTComponentDataType GetOutputDataType() =0;
28   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier) =0;
29   virtual AliHLTComponent* Spawn() = 0; 
30
31
32   char lineNumber[256];
33   const char *IntToChar(int number);
34   /*
35    *Check file and write messages to AliLog system
36    */
37   bool CheckFileLog(const char *origin, const char *filename, const char *opt);
38   void DoneWritingLog(const char *origin, const char *filename);
39
40   using  AliHLTProcessor::DoEvent;
41
42  protected:
43   void ScanRunNumberFromFile();
44   virtual int ScanArgumentsModule(int argc, const char** argv);
45   int fPhosEventCount;                  /**<Global event counter for this component*/
46   AliHLTUInt8_t  fModuleID;             /**<ID of the module this component read data from (0-4)*/
47
48   Bool_t fPrintInfoModule;                    /**<wether or not to print debugg info to std out*/
49   int fPrintInfoFrequncyModule;               /**<Defines the update frequency for information printet to std out*/
50
51   static const AliHLTComponentDataType fgkInputDataTypes[]; /**<List of  datatypes that can be given to this component*/
52   int fRunNumber;
53   char fFilepath[1024];
54   char fMessage[1024];
55
56  private:
57   AliHLTCaloProcessor(const AliHLTCaloProcessor & );
58   AliHLTCaloProcessor & operator = (const AliHLTCaloProcessor &);
59
60 };
61
62
63 #endif