moved HLT preprocessor to libHLTshuttle; added HLT module preprocessor framework...
[u/mrichter/AliRoot.git] / HLT / comp / AliHLTCompPreprocessor.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id: AliHLTCompPreprocessor.h 23318 2008-01-14 12:43:28Z hristov $
3
4 #ifndef ALIHLTCOMPPREPROCESSOR_H
5 #define ALIHLTCOMPPREPROCESSOR_H
6 //* This file is property of and copyright by the ALICE HLT Project        * 
7 //* ALICE Experiment at CERN, All rights reserved.                         *
8 //* See cxx source for full Copyright notice                               */
9
10 /**
11  * @file   AliHLTCompPreprocessor.h
12  * @author Jenny Wagner, Matthias Richter
13  * @brief  HLT Preprocessor plugin for the AliHLTComp library
14  */
15
16 // see below for class documentation
17 // or
18 // refer to README to build package
19 // or
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
22 #include "AliHLTModulePreprocessor.h"
23
24 /**
25  * @class AliHLTCompPreprocessor
26  * HLT preprocessor for the libAliHLTComp module.
27  *
28  * @author Jenny Wagner, Matthias Richter
29  *
30  * @date 2008-01-22
31  */
32 class AliHLTCompPreprocessor : public AliHLTModulePreprocessor
33 {
34  public:
35         
36   /** Constructor */
37   AliHLTCompPreprocessor();
38
39   /** Destructor */
40   ~AliHLTCompPreprocessor();
41
42   /**
43    * Initialize the Preprocessor.
44    *
45    * @param run run number
46    * @param startTime start time of data
47    * @param endTime end time of data
48    */
49   void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
50
51   /**
52    * Function to process data. Inside the preparation and storing to OCDB
53    * should be handled.
54    *
55    * @param dcsAliasMap the map containing aliases and corresponding DCS
56    *                    values and timestamps
57    *
58    * @return 0 on success; error code otherwise
59    */
60   UInt_t Process(TMap* dcsAliasMap);
61
62   /** Define name of huffman tables stored at FXS */
63   static const char* fgkHuffmanFileId;                  // see above
64
65  protected:
66
67  private:
68   /** copy constructor prohibited */
69   AliHLTCompPreprocessor(const AliHLTCompPreprocessor& preproc);
70   /** assignment operator prohibited */
71   AliHLTCompPreprocessor& operator=(const AliHLTCompPreprocessor& rhs);
72
73   /**
74    * Function fetch and prepare the Huffman tables from the HLT FXS
75    *
76    * @return 0 in case of success, else an error code
77    */
78   UInt_t GetHuffmanTables();
79                 
80   ClassDef(AliHLTCompPreprocessor, 0);
81 };
82 #endif