added a protection against detector not definining the default event specie
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTMisc.h
CommitLineData
2b545cdd 1//-*- Mode: C++ -*-
2// $Id$
6634349e 3
4#ifndef ALIHLTMISC_H
5#define ALIHLTMISC_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
2b545cdd 10/// @file AliHLTMisc.h
11/// @author Matthias Richter
12/// @date
13/// @brief Definition of various glue functions implemented in dynamically
14/// loaded libraries
15
16#include "TObject.h"
5bc495ef 17#include "AliHLTStdIncludes.h"
2b545cdd 18
19class AliCDBManager;
20class AliCDBEntry;
5bc495ef 21class AliHLTComponentDataType;
2b545cdd 22
23class AliHLTMisc : public TObject {
24 public:
25 AliHLTMisc();
26 ~AliHLTMisc();
27
28 template<class T>
29 static T* LoadInstance(const T* dummy, const char* classname, const char* library);
30
31 static AliHLTMisc& Instance();
32
33 virtual int InitCDB(const char* cdbpath);
34
35 virtual int SetCDBRunNo(int runNo);
36
37 virtual AliCDBEntry* LoadOCDBEntry(const char* path, int runNo=-1, int version = -1, int subVersion = -1);
38
39 virtual TObject* ExtractObject(AliCDBEntry* entry);
40
cc484ed9 41 virtual int InitMagneticField() const;
42
2b545cdd 43 private:
44 static AliHLTMisc* fgInstance;
45
46 ClassDef(AliHLTMisc, 0)
47};
6634349e 48
49#define ALIHLTMISC_LIBRARY "libHLTrec.so"
50#define ALIHLTMISC_INIT_CDB "AliHLTMiscInitCDB"
51#define ALIHLTMISC_SET_CDB_RUNNO "AliHLTMiscSetCDBRunNo"
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
57 /**
58 * Init the CDB access for the running instance.
59 * The method is used from the C wrapper interface utilized by the on-line
60 * framework. The path of the (H)CDB is set to the specified path.<br>
61 * When running from AliRoot, the CDB path is set in the startup of the
703bcca6 62 * reconstruction.<br>
63 * If cdbpath is nil or empty and the CDB is not already initialized, the
162637e4 64 * CDB storage is set to local://$ALICE_ROOT/OCDB and the run no to 0.
6634349e 65 * @param cdbpath path to the CDB
66 * @return neg. error code if failed
67 * @note function implemented in libHLTrec
68 */
69 int AliHLTMiscInitCDB(const char* cdbpath);
70 typedef int (*AliHLTMiscInitCDB_t)(const char* cdbpath);
71
6634349e 72 /**
73 * Init the Run no for the CDB access.
7e914051 74 * @param runNo the run no
6634349e 75 * @return neg. error code if failed
76 * @note function implemented in libHLTrec
77 */
78 int AliHLTMiscSetCDBRunNo(int runNo);
79 typedef int (*AliHLTMiscSetCDBRunNo_t)(int runNo);
80
81#ifdef __cplusplus
82}
83#endif
5bc495ef 84
85// direct printout of data type struct
86ostream &operator<<(ostream &str, const AliHLTComponentDataType&);
87
6634349e 88#endif //ALIHLTMISC_H