CGEM BOSS 6.6.5.g
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.1 2006/04/06 03:04:46 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
13static 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 ICalibMetaCnvSvc : virtual public IInterface
41{
42
43 public:
44
45 // Re-implemented from IInterface
46
47 /// Interface ID of this class
48 static const InterfaceID& interfaceID() { return IID_ICalibMetaCnvSvc; }
49
50 public:
51
52 // Create/update condition MetadataObject not necessarily registered in
53 // the TDS.
54 /// Create a calib DataObject -- corresponds to info from metadata -- by
55 /// --> whatever information is needed by Metadata::findBest,
56 /// namely calibType, event time, instrument, flavor, maybe level
57 // [was folder name, tag and time for IConditionsDBCnvSvc]
58 /// This method does not register DataObject in the transient data store,
59 /// The string storage type is discovered at runtime in the MySQL metadata
60 /// database.
61 virtual StatusCode createCalib(DataObject*& refpObject,
62 const std::string& fullpath,
63 const CLID& classID,
64 IRegistry* entry=0) = 0;
65
66 /// Update a condition DataObject by type, flavor, time (& instrument?).
67 /// This method does not register DataObject in the transient data store,
68 /// but may register TDS addresses for its children if needed (e.g. Catalog).
69 /// The string storage type is discovered at runtime in the MySQL metadata
70 /// database.
71 virtual StatusCode updateCalib(DataObject* pObject,
72 const std::string& fullpath,
73 const CLID& classID,
74 IRegistry* entry=0) = 0;
75
76
77
78 // Get handle for metadata access from calibUtil.
80
81 /*maqm remove
82 virtual StatusCode getValidInterval(unsigned int& serNo,
83 ITime** pvStart, ITime** pvEnd) = 0;
84 */
85 // Might want to add additional methods which will return certain metadata
86 // in a convenient form, given a serial number. Would be used
87 // by the bulk data conversion services to get some standard set
88 // of information which would go in every calib data object --
89 // except a "bad channel" list composed from dead + hot doesn't
90 // correspond to any single metadata row.
91};
92
93#endif
94
static const InterfaceID & interfaceID()
Interface ID of this class.
virtual calibUtil::Metadata * getMeta()=0
virtual StatusCode updateCalib(DataObject *pObject, const std::string &fullpath, const CLID &classID, IRegistry *entry=0)=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.