BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Calibration/CalibSvc/CalibDataSvc/include/CalibDataSvc/ICalibMetaCnvSvc.h
Go to the documentation of this file.
1//$Header:
2/// bes/bes/BossCvs/Calibration/CalibSvc/CalibDataSvc/CalibDataSvc/ICalibMetaCnvSvc.h,v 1.4
3// 2022/02/17 22:03:24 maqm Exp $
4#ifndef ICalibMetaCnvSvc_h
5#define ICalibMetaCnvSvc_h 1
6
7#include "GaudiKernel/IInterface.h"
8
9// External constants
10#include "GaudiKernel/ClassID.h"
11
12// Type definition
13/////#include "ConditionsDB/CondDBKey.h"
14
15// static const InterfaceID IID_ICalibMetaCnvSvc ("ICalibMetaCnvSvc", 1, 0);
16
17// Forward declarations
18class DataObject;
19// class IConditionsDBGate;
20class IRegistry;
21class ITime;
22
23namespace calibUtil {
24 class Metadata;
25}
26
27/** @class ICalibMetaCnvSvc
28
29 Abstract interface of a conversion service for GLAST calibration
30 persistency.
31
32 Handles creation and updating condition data objects (i.e. DataObjects
33 implementing IValidity).
34
35 Adapted from Andrea Valassi's IConditionsDBCnvSvc interface
36
37 @author Joanne Bogart
38 @date November 2002
39*/
40
41class GAUDI_API ICalibMetaCnvSvc : virtual public IInterface {
42
43public:
45
46 // Re-implemented from IInterface
47
48public:
49 // Create/update condition MetadataObject not necessarily registered in
50 // the TDS.
51 /// Create a calib DataObject -- corresponds to info from metadata -- by
52 /// --> whatever information is needed by Metadata::findBest,
53 /// namely calibType, event time, instrument, flavor, maybe level
54 // [was folder name, tag and time for IConditionsDBCnvSvc]
55 /// This method does not register DataObject in the transient data store,
56 /// The string storage type is discovered at runtime in the MySQL metadata
57 /// database.
58 virtual StatusCode createCalib( DataObject*& refpObject, const std::string& fullpath,
59 const CLID& classID, IRegistry* entry = 0 ) = 0;
60
61 /// Update a condition DataObject by type, flavor, time (& instrument?).
62 /// This method does not register DataObject in the transient data store,
63 /// but may register TDS addresses for its children if needed (e.g. Catalog).
64 /// The string storage type is discovered at runtime in the MySQL metadata
65 /// database.
66 virtual StatusCode updateCalib( DataObject* pObject, const std::string& fullpath,
67 const CLID& classID, IRegistry* entry = 0 ) = 0;
68
69 // Get handle for metadata access from calibUtil.
71
72 /*maqm remove
73 virtual StatusCode getValidInterval(unsigned int& serNo,
74 ITime** pvStart, ITime** pvEnd) = 0;
75 */
76 // Might want to add additional methods which will return certain metadata
77 // in a convenient form, given a serial number. Would be used
78 // by the bulk data conversion services to get some standard set
79 // of information which would go in every calib data object --
80 // except a "bad channel" list composed from dead + hot doesn't
81 // correspond to any single metadata row.
82};
83
84#endif
virtual calibUtil::Metadata * getMeta()=0
virtual StatusCode updateCalib(DataObject *pObject, const std::string &fullpath, const CLID &classID, IRegistry *entry=0)=0
DeclareInterfaceID(ICalibMetaCnvSvc, 1, 0)
virtual StatusCode createCalib(DataObject *&refpObject, const std::string &fullpath, const CLID &classID, IRegistry *entry=0)=0
Module implements methods for clients to get generic services.