Use GRP from event-directory if:
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDAQ.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTDAQ_H
5 #define ALIHLTDAQ_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   AliHLTDAQ.h
11     @author Matthias Richter
12     @date   24.10.2008
13     @brief  Virtual Interface to the AliDAQ class.
14 */
15
16 #include "Rtypes.h"
17
18 /**
19  * Virtual interface to the AliDAQ class.
20  * In order to keep the libHLTbase free of AliRoot dependencies, the
21  * implementation has been separated from libHLTbase.
22  * Implementation in libHLTrec.
23  */
24 class AliHLTDAQ {
25  public:
26   AliHLTDAQ();
27   virtual ~AliHLTDAQ();
28   static  Int_t       DetectorID(const char *detectorName);
29   static  const char *DetectorName(Int_t detectorID);
30
31   static  Int_t       DdlIDOffset(const char *detectorName);
32   static  Int_t       DdlIDOffset(Int_t detectorID);
33
34   static  const char *DetectorNameFromDdlID(Int_t ddlID, Int_t &ddlIndex);
35   static  Int_t       DetectorIDFromDdlID(Int_t ddlID, Int_t &ddlIndex);
36
37   static  Int_t       DdlID(const char *detectorName, Int_t ddlIndex);
38   static  Int_t       DdlID(Int_t detectorID, Int_t ddlIndex);
39   static  const char *DdlFileName(const char *detectorName, Int_t ddlIndex);
40   static  const char *DdlFileName(Int_t detectorID, Int_t ddlIndex);
41
42   static  Int_t       NumberOfDdls(const char *detectorName);
43   static  Int_t       NumberOfDdls(Int_t detectorID);
44
45   static AliHLTDAQ* GetInstance();
46
47  private:
48   virtual  Int_t       VirtDetectorID(const char *detectorName)=0;
49   virtual  const char *VirtDetectorName(Int_t detectorID)=0;
50
51   virtual  Int_t       VirtDdlIDOffset(const char *detectorName)=0;
52   virtual  Int_t       VirtDdlIDOffset(Int_t detectorID)=0;
53
54   virtual  const char *VirtDetectorNameFromDdlID(Int_t ddlID, Int_t &ddlIndex)=0;
55   virtual  Int_t       VirtDetectorIDFromDdlID(Int_t ddlID, Int_t &ddlIndex)=0;
56
57   virtual  Int_t       VirtDdlID(const char *detectorName, Int_t ddlIndex)=0;
58   virtual  Int_t       VirtDdlID(Int_t detectorID, Int_t ddlIndex)=0;
59   virtual  const char *VirtDdlFileName(const char *detectorName, Int_t ddlIndex)=0;
60   virtual  const char *VirtDdlFileName(Int_t detectorID, Int_t ddlIndex)=0;
61
62   virtual  Int_t       VirtNumberOfDdls(const char *detectorName)=0;
63   virtual  Int_t       VirtNumberOfDdls(Int_t detectorID)=0;
64
65   /** global instance */
66   static AliHLTDAQ* fgpInstance; //!
67
68   /** the name of the actual implementation */
69   static const char* fgkImplName; //!
70
71   /** the library of the implementation */
72   static const char* fgkImplLibrary; //!
73 };
74
75 #endif //AliHLTDAQ