LCOV - code coverage report
Current view: top level - HLT/shuttle - AliHLTPreprocessor.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 28 3.6 %
Date: 2016-06-14 17:26:59 Functions: 1 37 2.7 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id: AliHLTPreprocessor.h 23318 2008-01-14 12:43:28Z hristov $
       3             : 
       4             : #ifndef ALIHLTPREPROCESSOR_H
       5             : #define ALIHLTPREPROCESSOR_H
       6             : //* This file is property of and copyright by the                          * 
       7             : //* ALICE Experiment at CERN, All rights reserved.                         *
       8             : //* See cxx source for full Copyright notice                               *
       9             : 
      10             : /// @file   AliHLTPreprocessor.h
      11             : /// @author Matthias Richter
      12             : /// @date   2008-01-22
      13             : /// @brief  Container for HLT module preprocessors, acts to the outside as
      14             : ///         HLT preprocessor used by the Offline Shuttle 
      15             : /// 
      16             : 
      17             : #include "TList.h"
      18             : #include "AliPreprocessor.h"
      19             : #include "AliHLTShuttleInterface.h"
      20             : 
      21             : /**
      22             :  * @class AliHLTPreprocessor
      23             :  * Implementation of the HLT version for the Shuttle Preprocessor.
      24             :  * Since HLT requires a more modular concept of the pre-processors, this
      25             :  * class acts as HLT pre-processor to the outside and container class for
      26             :  * the specific HLT module pre-processors to the inside.
      27             :  *
      28             :  * The base class for HLT module preprocessors is provided by the
      29             :  * AliHLTModulePreprocessor class, which implements the same interface as
      30             :  * the AliPreprocessor.
      31             :  *
      32             :  * The main purpose of the container class is to loop over all module
      33             :  * preprocessors and to make the AliPreprocessor interface methods
      34             :  * publicly available.
      35             :  */
      36             : class AliHLTPreprocessor : public AliPreprocessor , public AliHLTShuttleInterface
      37             : {
      38             :  public:
      39             :   /**
      40             :    * Constructor for AliHLTPreprocessor
      41             :    *
      42             :    * @param shuttle pointer to the hosting shuttle
      43             :    */
      44             :   AliHLTPreprocessor(AliShuttleInterface* shuttle);
      45             :   /** Destructor */
      46             :   virtual ~AliHLTPreprocessor();
      47             : 
      48             :   /**
      49             :    * Initialize 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           0 :   virtual Bool_t ProcessDCS() {return kFALSE;}
      74             : 
      75             :   /** Define for name of the HLT Preproc */
      76             :   static const char* fgkHLTPreproc;                     // see above
      77             : 
      78             :   /** Get the run no which has been previously initialized */
      79           0 :   Int_t PreprocessorGetRun() {return fRun;}
      80             : 
      81             :   /** Get the start time no which has been previously initialized */
      82           0 :   UInt_t PreprocessorGetStartTime() {return fStartTime;}
      83             : 
      84             :   /** Get the end time no which has been previously initialized */
      85           0 :   UInt_t PreprocessorGetEndTime() {return fEndTime;}
      86             : 
      87             :   // AliPreprocessor methods made publicly available
      88             :   // the subsequent functions map the AliPreprocessor interface functions in order
      89             :   // to be used by the module proprocessors.
      90           0 :   Bool_t PreprocessorStore(const char* pathLevel2, const char* pathLevel3, TObject* object,
      91             :                AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) {
      92           0 :     return AliPreprocessor::Store(pathLevel2, pathLevel3, object, metaData, validityStart, validityInfinite);
      93             :   }
      94             : 
      95           0 :   Bool_t PreprocessorStoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
      96             :                             AliCDBMetaData* metaData) {
      97           0 :     return AliPreprocessor::StoreReferenceData(pathLevel2, pathLevel3, object, metaData);
      98             :   }
      99             : 
     100           0 :   Bool_t PreprocessorStoreReferenceFile(const char* localFile, const char* gridFileName) {
     101           0 :     return AliPreprocessor::StoreReferenceFile(localFile, gridFileName);
     102             :   }
     103             : 
     104           0 :   Bool_t PreprocessorStoreRunMetadataFile(const char* localFile, const char* gridFileName) {
     105           0 :     return AliPreprocessor::StoreRunMetadataFile(localFile, gridFileName);
     106             :   }
     107             :     
     108           0 :   const char* PreprocessorGetFile(Int_t system, const char* id, const char* source) {
     109           0 :     return AliPreprocessor::GetFile(system, id, source);
     110             :   }
     111             : 
     112           0 :   TList* PreprocessorGetFileSources(Int_t system, const char* id = 0) {
     113           0 :     return AliPreprocessor::GetFileSources(system, id);
     114             :   }
     115             : 
     116           0 :   TList* PreprocessorGetFileIDs(Int_t system, const char* source) {
     117           0 :     return AliPreprocessor::GetFileIDs(system, source);
     118             :   }
     119             : 
     120           0 :   const char* PreprocessorGetRunParameter(const char* param) {
     121           0 :     return AliPreprocessor::GetRunParameter(param);
     122             :   }
     123             : 
     124           0 :   AliCDBEntry* PreprocessorGetFromOCDB(const char* pathLevel2, const char* pathLevel3) {
     125           0 :     return AliPreprocessor::GetFromOCDB(pathLevel2, pathLevel3);
     126             :   }
     127             : 
     128           0 :   const char* PreprocessorGetRunType() {
     129           0 :     return AliPreprocessor::GetRunType();
     130             :   }
     131             : 
     132           0 :   void PreprocessorLog(const char* message) {
     133           0 :     AliPreprocessor::Log(message);
     134           0 :   }
     135             : 
     136             :  protected:
     137             : 
     138             :  private:
     139             :   /** copy constructor prohibited */
     140             :   AliHLTPreprocessor(const AliHLTPreprocessor& preproc);
     141             :   /** assignment operator prohibited */
     142             :   AliHLTPreprocessor& operator=(const AliHLTPreprocessor& rhs);
     143             : 
     144             :   /** list of HLT module processors */
     145             :   TList fProcessors;                                               //!transient
     146             : 
     147             :   /** determine which which detectors were active */
     148             :   Int_t fActiveDetectors; // bit array of active detectors
     149             :   
     150             :   /** array of default libraries */
     151             :   static const char* fgkHLTDefaultShuttleLibs[];                   //!transient
     152             : 
     153          12 :   ClassDef(AliHLTPreprocessor, 1);
     154             : };
     155             : #endif
     156             : 
     157             : 

Generated by: LCOV version 1.11