still keep old AliCFGrid implementation in AliCFContainer's example, for the moment
[u/mrichter/AliRoot.git] / HLT / rec / AliHLTPreprocessor.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id$
3
4 #ifndef ALI_HLT_PREPROCESSOR_H
5 #define ALI_HLT_PREPROCESSOR_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   AliHLTPreprocessor.h
12  * @author Kenneth Aamodt, Sebastian Bablok
13  * @date   2007-12-06
14  * @brief  Declaration of the HLT preprocessor (used by the Offline Shuttle) 
15  */
16
17 // see below for class documentation
18 // or
19 // refer to README to build package
20 // or
21 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22
23 #include "AliPreprocessor.h"
24
25 /**
26  * @class AliHLTPreprocessor
27  * Implementation of the HLT version for the Shuttle Preprocessor. 
28  *
29  * @author Sebastian Bablok, Kenneth Aamodt
30  *
31  * @date 2007-12-05
32  */
33 class AliHLTPreprocessor : public AliPreprocessor {
34     public:
35         
36                 /**
37                  * Constructor for AliHLTPreprocessor
38                  *
39                  * @param shuttle pointer to the hosting shuttle
40                  */
41                 AliHLTPreprocessor(AliShuttleInterface* shuttle);
42
43                 /**
44                  * Destructor for AliHLTPreprocessor
45                  */
46                 virtual ~AliHLTPreprocessor();
47                 
48                 /**
49                  * Function to initilaize the Preprocessor.
50                  *
51                  * @param run run number
52                  * @param startTime start time of data
53                  * @param endTime end time of data
54                  */
55                 virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
56
57                 /**
58                  * Function to process data. Inside the preparation and storing to OCDB
59                  * should be handled.
60                  *
61                  * @param dcsAliasMap the map containing aliases and corresponding DCS
62                  *                      values and timestamps
63                  *
64                  * @return 0 on success; a value greater than 0 refers to an error
65                  */
66                 virtual UInt_t Process(TMap* dcsAliasMap);
67
68                 /**
69                  * Indicates if DCS data can be processed.
70                  *
71                  * @return true if DCS data can be processed, else false. 
72                  */
73                 virtual Bool_t ProcessDCS();
74
75                 /** Define for HuffmanTable number */
76                 static const Int_t fgkHuffmanTablesNum;                 // see above
77
78                 /** Define for HuffmanFileBase */
79                 static const char* fgkHuffmanFileBase;                  // see above
80
81                 /** Define for Detector used for Huffman table */
82                 static const char* fgkHuffmanFileDetector;              // see above
83
84                 /** Define for Temperature Histogram filename */
85                 static const char* fgkTempHistoFileName;                // see above
86
87                 /** Define for name of the HLT Preproc */
88                 static const char* fgkHLTPreproc;                               // see above
89                 
90         protected:
91
92         private:
93                 /**
94                  * Disabled Copy constructor 
95                  * (parent class is disabled so derived class does the same)
96                  *
97                  * @param preproc would be the AliHLTPreproc object to make copy of
98                  */
99                 AliHLTPreprocessor(const AliHLTPreprocessor& preproc);
100
101                 /**
102                  * Disabled Assignment operator
103                  * (parent class is disabled so derived class does the same)
104                  *
105                  * @param rhs the AliHLTPreproc to assign from
106                  *
107                  * @return reference to assinged AliHLTPreproc
108                  */
109                 AliHLTPreprocessor& operator=(const AliHLTPreprocessor& rhs);
110
111                 /**
112                  * Stores the run number
113                  */
114                 Int_t fRun;                                                                             // see above
115         
116                 /**
117                  * Stores the start time 
118                  */     
119                 UInt_t fStartTime;                                                              // see above
120         
121                 /**
122                  * Stores the end time 
123                  */     
124                 UInt_t fEndTime;                                                                // see above
125
126                 
127                 ClassDef(AliHLTPreprocessor, 2);
128         
129 };
130
131
132 #endif
133
134