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