]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/AliHLTGlobalPreprocessor.h
601ac44adad65cb91656c17e49a49cbb675d0f87
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalPreprocessor.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTGLOBALPREPROCESSOR_H
5 #define ALIHLTGLOBALPREPROCESSOR_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 //  @file   AliHLTGlobalPreprocessor.h
11 //  @author Matthias Richter
12 //  @date   2010-08-20
13 //  @brief  HLT Preprocessor plugin for global HLT
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 AliHLTGlobalPreprocessor
26  * HLT preprocessor for global HLT objects
27  *
28  * <h2>Produced OCDB objects:</h2>
29  * - HLT/Calib/Streamerinfo <br>
30  *   The streamer info object is produced by the ROOTSchemaEvolutionComponent
31  *   See ProcessStreamerInfo() for details.
32  *
33  * @author Matthias Richter
34  */
35 class AliHLTGlobalPreprocessor : public AliHLTModulePreprocessor
36 {
37  public:
38         
39   /** Standard Constructor */
40   AliHLTGlobalPreprocessor();
41
42   /** Destructor */
43   ~AliHLTGlobalPreprocessor();
44
45   /**
46    * Initialize the Preprocessor.
47    *
48    * @param run run number
49    * @param startTime start time of data
50    * @param endTime end time of data
51    */
52   void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
53
54   /**
55    * Function to process data. Inside the preparation and storing to OCDB
56    * should be handled.
57    *
58    * @param dcsAliasMap the map containing aliases and corresponding DCS
59    *                    values and timestamps
60    *
61    * @return 0 on success; error code otherwise
62    */
63   UInt_t Process(TMap* dcsAliasMap);
64
65   /** Define bit mask of the active detectors needed by this preprocessor module */
66   Int_t GetModuleNumber();
67
68   /// DCS alias 'StreamerInfo' -> Calib/StreamerInfo
69   static const char* fgkStreamerInfoAlias;
70   static const char* fgkStreamerInfoName;
71   static const char* fgkStreamerInfoType;
72
73  protected:
74
75  private:
76   /** copy constructor prohibited */
77   AliHLTGlobalPreprocessor(const AliHLTGlobalPreprocessor& preproc);
78   /** assignment operator prohibited */
79   AliHLTGlobalPreprocessor& operator=(const AliHLTGlobalPreprocessor& rhs);
80
81   int ProcessStreamerInfo(TObject* object);
82
83   ClassDef(AliHLTGlobalPreprocessor, 0);
84 };
85 #endif