adding transparent access to AliDAQ, adding special HLTOUT kRawReader
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDAQ.h
CommitLineData
7c4d1228 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 */
24class 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