]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/comp/AliHLTCompPreprocessor.h
AddInfo additions - needed for normal Preprocessor operations
[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 #include "AliHLTPreprocessor.h"
24
25 /**
26  * @class AliHLTCompPreprocessor
27  * HLT preprocessor for the libAliHLTComp module.
28  *
29  * @author Jenny Wagner, Matthias Richter
30  *
31  * @date 2008-01-22
32  */
33 class AliHLTCompPreprocessor : public AliHLTModulePreprocessor
34 {
35  public:
36         
37   /** Standard Constructor */
38   AliHLTCompPreprocessor();
39
40   /** Destructor */
41   ~AliHLTCompPreprocessor();
42
43   /**
44    * Initialize the Preprocessor.
45    *
46    * @param run run number
47    * @param startTime start time of data
48    * @param endTime end time of data
49    */
50   void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
51
52   /**
53    * Function to process data. Inside the preparation and storing to OCDB
54    * should be handled.
55    *
56    * @param dcsAliasMap the map containing aliases and corresponding DCS
57    *                    values and timestamps
58    *
59    * @return 0 on success; error code otherwise
60    */
61   UInt_t Process(TMap* dcsAliasMap);
62
63   /** Define name of huffman tables stored at FXS */
64   static const char* fgkHuffmanFileId;                  // see above
65
66   /** Define module id */
67   const char* GetModuleID() {return "AliHLTCompPreprocessor";};
68
69   /** Define bit mask of the active detectors needed by this preprocessor module */
70   Int_t GetModuleNumber() {
71     Int_t modulenumber = 0;
72     modulenumber = AliHLTModulePreprocessor::DetectorBitMask("TPC") | AliHLTModulePreprocessor::DetectorBitMask("PHOS");
73     return modulenumber;
74   };
75
76  protected:
77
78  private:
79   /** copy constructor prohibited */
80   AliHLTCompPreprocessor(const AliHLTCompPreprocessor& preproc);
81   /** assignment operator prohibited */
82   AliHLTCompPreprocessor& operator=(const AliHLTCompPreprocessor& rhs);
83
84   /**
85    * Function fetch and prepare the Huffman tables from the HLT FXS
86    *
87    * @return 0 in case of success, else an error code
88    */
89   UInt_t GetHuffmanTables();
90
91   /** mark if TPC was active (1 = active) */
92   Bool_t fTPCactive;  // mark if TPC was active
93   /** mark if PHOS was active (1 = active) */
94   Bool_t fPHOSactive; // makr if PHOS was active
95                 
96   ClassDef(AliHLTCompPreprocessor, 1);
97 };
98 #endif