2 // @(#) $Id: AliHLTCompPreprocessor.h 23318 2008-01-14 12:43:28Z hristov $
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 */
11 * @file AliHLTCompPreprocessor.h
12 * @author Jenny Wagner, Matthias Richter
13 * @brief HLT Preprocessor plugin for the AliHLTComp library
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTModulePreprocessor.h"
23 #include "AliHLTPreprocessor.h"
26 * @class AliHLTCompPreprocessor
27 * HLT preprocessor for the libAliHLTComp module.
29 * @author Jenny Wagner, Matthias Richter
33 class AliHLTCompPreprocessor : public AliHLTModulePreprocessor
37 /** Standard Constructor */
38 AliHLTCompPreprocessor();
41 ~AliHLTCompPreprocessor();
44 * Initialize the Preprocessor.
46 * @param run run number
47 * @param startTime start time of data
48 * @param endTime end time of data
50 void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
53 * Function to process data. Inside the preparation and storing to OCDB
56 * @param dcsAliasMap the map containing aliases and corresponding DCS
57 * values and timestamps
59 * @return 0 on success; error code otherwise
61 UInt_t Process(TMap* dcsAliasMap);
63 /** Define name of huffman tables stored at FXS */
64 static const char* fgkHuffmanFileId; // see above
66 /** Define module id */
67 const char* GetModuleID() {return "AliHLTCompPreprocessor";};
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");
79 /** copy constructor prohibited */
80 AliHLTCompPreprocessor(const AliHLTCompPreprocessor& preproc);
81 /** assignment operator prohibited */
82 AliHLTCompPreprocessor& operator=(const AliHLTCompPreprocessor& rhs);
85 * Function fetch and prepare the Huffman tables from the HLT FXS
87 * @return 0 in case of success, else an error code
89 UInt_t GetHuffmanTables();
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
96 ClassDef(AliHLTCompPreprocessor, 1);