![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <IOVRegistrationSvc.h>
|
| IOVRegistrationSvc (const std::string &name, ISvcLocator *svc) |
|
virtual | ~IOVRegistrationSvc () |
|
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvInterface) |
| Query the interfaces. More...
|
|
virtual const InterfaceID & | type () const |
| Service type. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName) const |
| Register IOV DB for an object given its typeName - run/LB numbers interval or times interval and tag are taken from JobOptions Choice between run/LB and timestamp given in JobOptions. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName, const std::string &tag) const |
| Register IOV DB for an object given its typeName - run/LB numbers interval or times interval taken from JobOptions tag is specified Choice between run/LB and timestamp given in JobOptions. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName, const std::string &key, const std::string &tag) const |
| Register IOV DB for an object given its typeName and its key run/LB numbers interval or times interval and tag are taken from JobOptions Choice between run/LB and timestamp given in JobOptions. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName, const std::string &tag, unsigned int beginRun, unsigned int endRun, unsigned int beginLB, unsigned int endLB) const |
| Register IOV DB for an object given its typeName, tag and run/LB numbers interval. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName, const std::string &tag, uint64_t beginTime, uint64_t endTime) const |
| Register IOV DB for an object given its typeName, tag and times interval. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName, const std::string &key, const std::string &tag, unsigned int beginRun, unsigned int endRun, unsigned int beginLB, unsigned int endLB) const |
| Register IOV DB for an object given its typeName, key, tag and run/LB numbers interval. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName, const std::string &key, const std::string &tag, uint64_t beginTime, uint64_t endTime) const |
| Register IOV DB for an object given its typeName, key, tag and times interval. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName, const std::string &key, const std::string &folder, const std::string &tag, unsigned int beginRun, unsigned int endRun, unsigned int beginLB, unsigned int endLB) const |
| Register IOV DB for an object given its typeName, key, folder, tag and run/LB numbers interval. More...
|
|
virtual StatusCode | registerIOV (const std::string &typeName, const std::string &key, const std::string &folder, const std::string &tag, uint64_t beginTime, uint64_t endTime) const |
| Register IOV DB for an object given its typeName, key, folder, tag and times interval. More...
|
|
virtual StatusCode | initialize () |
| Initialize AlgTool. More...
|
|
virtual StatusCode | finalize () |
| Finalize AlgTool. More...
|
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
StatusCode | registerIOV (const std::string &typeName, const std::string &key, const std::string &folder, const std::string &tag, const IOVTime &begin, const IOVTime &end) const |
|
StatusCode | registerIOVCOOL (const std::string &typeName, const std::string &key, const std::string &folderName, const std::string &tag, const IOVTime &begin, const IOVTime &end) const |
|
cool::StorageType::TypeId | coralToCoolType (const std::string &parname, const std::string &coralName) const |
|
StatusCode | getStringAddress (const CLID &clid, const std::string &key, std::string &saddr) const |
|
uint64_t | timeToNano (const unsigned long int timesec) const |
|
virtual StatusCode | buildDescription (const std::string &identifier, const std::string &value, std::string &description) const |
| Build the folder description field add in front of the description the value with identifier-markups. More...
|
|
StatusCode | splitAddress (const std::string &address, std::string &address_header, std::string &address_data) const |
| Split address in its header and data parts. More...
|
|
Properties:
Definition at line 53 of file IOVRegistrationSvc.h.
◆ IOVRegistrationSvc()
IOVRegistrationSvc::IOVRegistrationSvc |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
svc |
|
) |
| |
◆ ~IOVRegistrationSvc()
IOVRegistrationSvc::~IOVRegistrationSvc |
( |
| ) |
|
|
virtual |
◆ buildDescription()
StatusCode IOVRegistrationSvc::buildDescription |
( |
const std::string & |
identifier, |
|
|
const std::string & |
value, |
|
|
std::string & |
description |
|
) |
| const |
|
privatevirtual |
Build the folder description field add in front of the description the value with identifier-markups.
Definition at line 1189 of file IOVRegistrationSvc.cxx.
1196 return StatusCode::FAILURE;
1199 return StatusCode::SUCCESS;
◆ coralToCoolType()
cool::StorageType::TypeId IOVRegistrationSvc::coralToCoolType |
( |
const std::string & |
parname, |
|
|
const std::string & |
coralName |
|
) |
| const |
|
private |
Definition at line 1137 of file IOVRegistrationSvc.cxx.
1140 std::string coralType=coralName;
1145 ATH_MSG_INFO (
"Override default type for attribute " <<
1146 parname <<
" - use " << coralType);
1152 if (coralType==
"bool")
return cool::StorageType::Bool;
1153 if (coralType==
"UChar" || coralType==
"unsigned char")
return cool::StorageType::UChar;
1154 if (coralType==
"Int16")
return cool::StorageType::Int16;
1155 if (coralType==
"UInt16")
return cool::StorageType::UInt16;
1156 if (coralType==
"Int32" || coralType==
"int")
return cool::StorageType::Int32;
1157 if (coralType==
"UInt32" || coralType==
"unsigned int")
return cool::StorageType::UInt32;
1158 if (coralType==
"UInt63" || coralType==
"unsigned long long")
return cool::StorageType::UInt63;
1159 if (coralType==
"Int64" || coralType==
"long long")
return cool::StorageType::Int64;
1160 if (coralType==
"Float" || coralType==
"float")
return cool::StorageType::Float;
1161 if (coralType==
"Double" || coralType==
"double")
return cool::StorageType::Double;
1162 if (coralType==
"String255")
return cool::StorageType::String255;
1163 if (coralType==
"String4k" || coralType==
"string")
return cool::StorageType::String4k;
1164 if (coralType==
"String64k")
return cool::StorageType::String64k;
1165 if (coralType==
"String16M")
return cool::StorageType::String16M;
1166 if (coralType==
"blob" || coralType==
"Blob64k")
1167 return cool::StorageType::Blob64k;
1168 if (coralType==
"Blob16M")
return cool::StorageType::Blob16M;
1171 ATH_MSG_FATAL (
"No COOL mapping defined for CORAL type " << coralName);
◆ finalize()
StatusCode IOVRegistrationSvc::finalize |
( |
| ) |
|
|
virtual |
◆ getStringAddress()
StatusCode IOVRegistrationSvc::getStringAddress |
( |
const CLID & |
clid, |
|
|
const std::string & |
key, |
|
|
std::string & |
saddr |
|
) |
| const |
|
private |
◆ initialize()
StatusCode IOVRegistrationSvc::initialize |
( |
| ) |
|
|
virtual |
Initialize AlgTool.
Definition at line 131 of file IOVRegistrationSvc.cxx.
136 if (
sc.isFailure() ) {
138 return StatusCode::FAILURE;
145 return StatusCode::FAILURE;
150 if (
sc.isFailure() ) {
152 return StatusCode::FAILURE;
158 if (
sc != StatusCode::SUCCESS ) {
159 ATH_MSG_ERROR (
" Cannot get IAddressCreator interface of the EventPersistencySvc ");
167 if (
sc != StatusCode::SUCCESS ) {
168 ATH_MSG_ERROR (
" Cannot get IClassIDSvc interface of the CLIDSvc " );
192 ATH_MSG_FATAL (
"Inconsistent settings of OverrideNames and OverrideTypes parameters");
193 return StatusCode::FAILURE;
198 return StatusCode::SUCCESS;
◆ interfaceID()
const InterfaceID & IIOVRegistrationSvc::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
Retrieve interface ID.
Definition at line 133 of file IIOVRegistrationSvc.h.
135 static const InterfaceID IID_IIOVRegistrationSvc(
"IIOVRegistrationSvc", 1 , 0);
136 return IID_IIOVRegistrationSvc;
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ queryInterface()
StatusCode IOVRegistrationSvc::queryInterface |
( |
const InterfaceID & |
riid, |
|
|
void ** |
ppvInterface |
|
) |
| |
|
virtual |
Query the interfaces.
Identify interfaces to which this service is responsive.
Definition at line 111 of file IOVRegistrationSvc.cxx.
122 return AthService::queryInterface(riid, ppvInterface);
125 return StatusCode::SUCCESS;
◆ registerIOV() [1/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName | ) |
const |
|
virtual |
Register IOV DB for an object given its typeName - run/LB numbers interval or times interval and tag are taken from JobOptions Choice between run/LB and timestamp given in JobOptions.
Implements IIOVRegistrationSvc.
Definition at line 211 of file IOVRegistrationSvc.cxx.
213 std::string
key =
"";
◆ registerIOV() [2/10]
Definition at line 447 of file IOVRegistrationSvc.cxx.
460 if (spec_key.empty())
466 msg() <<
" spec_key " << spec_key <<
endmsg;
469 <<
" - end time: " <<
stop
474 start.isTimestamp() !=
stop.isTimestamp() ||
475 start.isRunEvent() !=
stop.isRunEvent()) {
477 <<
" isBoth: " <<
start.isBoth() <<
":" <<
stop.isBoth()
478 <<
" isTimestamp: " <<
start.isTimestamp() <<
":" <<
stop.isTimestamp()
479 <<
" isRunEvent: " <<
start.isRunEvent() <<
":" <<
stop.isRunEvent());
480 return( StatusCode::FAILURE);
◆ registerIOV() [3/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName, |
|
|
const std::string & |
key, |
|
|
const std::string & |
folder, |
|
|
const std::string & |
tag, |
|
|
uint64_t |
beginTime, |
|
|
uint64_t |
endTime |
|
) |
| const |
|
virtual |
◆ registerIOV() [4/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName, |
|
|
const std::string & |
key, |
|
|
const std::string & |
folder, |
|
|
const std::string & |
tag, |
|
|
unsigned int |
beginRun, |
|
|
unsigned int |
endRun, |
|
|
unsigned int |
beginLB, |
|
|
unsigned int |
endLB |
|
) |
| const |
|
virtual |
Register IOV DB for an object given its typeName, key, folder, tag and run/LB numbers interval.
Implements IIOVRegistrationSvc.
Definition at line 397 of file IOVRegistrationSvc.cxx.
407 start.setRunEvent( (
unsigned long)beginRun, (
unsigned long)beginLB );
409 stop.setRunEvent ( (
unsigned long)endRun, (
unsigned long)endLB );
◆ registerIOV() [5/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName, |
|
|
const std::string & |
key, |
|
|
const std::string & |
tag |
|
) |
| const |
|
virtual |
Register IOV DB for an object given its typeName and its key run/LB numbers interval or times interval and tag are taken from JobOptions Choice between run/LB and timestamp given in JobOptions.
Implements IIOVRegistrationSvc.
Definition at line 279 of file IOVRegistrationSvc.cxx.
◆ registerIOV() [6/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName, |
|
|
const std::string & |
key, |
|
|
const std::string & |
tag, |
|
|
uint64_t |
beginTime, |
|
|
uint64_t |
endTime |
|
) |
| const |
|
virtual |
◆ registerIOV() [7/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName, |
|
|
const std::string & |
key, |
|
|
const std::string & |
tag, |
|
|
unsigned int |
beginRun, |
|
|
unsigned int |
endRun, |
|
|
unsigned int |
beginLB, |
|
|
unsigned int |
endLB |
|
) |
| const |
|
virtual |
Register IOV DB for an object given its typeName, key, tag and run/LB numbers interval.
Implements IIOVRegistrationSvc.
Definition at line 355 of file IOVRegistrationSvc.cxx.
364 start.setRunEvent( (
unsigned long)beginRun, (
unsigned long)beginLB );
366 stop.setRunEvent ( (
unsigned long)endRun, (
unsigned long)endLB );
◆ registerIOV() [8/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName, |
|
|
const std::string & |
tag |
|
) |
| const |
|
virtual |
Register IOV DB for an object given its typeName - run/LB numbers interval or times interval taken from JobOptions tag is specified Choice between run/LB and timestamp given in JobOptions.
Implements IIOVRegistrationSvc.
Definition at line 245 of file IOVRegistrationSvc.cxx.
247 std::string
key =
"";
◆ registerIOV() [9/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName, |
|
|
const std::string & |
tag, |
|
|
uint64_t |
beginTime, |
|
|
uint64_t |
endTime |
|
) |
| const |
|
virtual |
◆ registerIOV() [10/10]
StatusCode IOVRegistrationSvc::registerIOV |
( |
const std::string & |
typeName, |
|
|
const std::string & |
tag, |
|
|
unsigned int |
beginRun, |
|
|
unsigned int |
endRun, |
|
|
unsigned int |
beginLB, |
|
|
unsigned int |
endLB |
|
) |
| const |
|
virtual |
Register IOV DB for an object given its typeName, tag and run/LB numbers interval.
Implements IIOVRegistrationSvc.
Definition at line 312 of file IOVRegistrationSvc.cxx.
320 start.setRunEvent( (
unsigned long)beginRun, (
unsigned long)beginLB );
322 stop.setRunEvent ( (
unsigned long)endRun, (
unsigned long)endLB );
323 std::string
key =
"";
◆ registerIOVCOOL()
Definition at line 495 of file IOVRegistrationSvc.cxx.
512 if (
sc.isFailure()) {
514 return( StatusCode::FAILURE);
532 bool storeRef =
true;
533 bool storeAttrListColl =
false;
534 bool needSGaddr=
false;
535 if (
"AthenaAttributeList" ==
typeName) {
539 if (
"CondAttrListCollection" ==
typeName) {
541 storeAttrListColl =
true;
549 IOpaqueAddress* addr=0;
550 std::string
key = spec_key;
551 std::vector<CLID> symlinks;
559 return( StatusCode::FAILURE);
566 addr =
proxy->address();
571 ATH_MSG_ERROR (
"Could not get proxy for clid " << clid <<
" and key " <<
key);
572 return( StatusCode::FAILURE );
576 addr =
proxy->address();
581 symlinks =
proxy->transientID();
582 auto it =
std::find (symlinks.begin(), symlinks.end(), clid);
583 if (
it != symlinks.end()) {
592 storeAttrListColl =
true;
597 if (
sc.isFailure()) {
598 ATH_MSG_WARNING (
"Could not get string from IOpaqueAddress for clid " << clid
599 <<
" is BAD_STORAGE_TYPE: " << (
sc == IConversionSvc::Status::BAD_STORAGE_TYPE));
600 return( StatusCode::FAILURE);
609 return( StatusCode::FAILURE );
613 if (
"AthenaAttributeList" ==
typeName) {
614 saddr=
"<address_header service_type=\"256\" clid=\"40774348\" /> POOLContainer_AthenaAttributeList][CLID=x";
615 }
else if (
"CondAttrListCollection" ==
typeName) {
616 saddr=
"<address_header service_type=\"256\" clid=\"1238547719\" /> POOLContainer_CondAttrListCollection][CLID=x";
625 <<
" Storing AttrListCollection: " << storeAttrListColl);
630 std::string local_folder;
639 cool::IDatabasePtr
db =
m_iov_db->getDatabase(
false);
642 return(StatusCode::FAILURE);
645 const cool::DatabaseId& dbid=
db->databaseId();
647 bool dbidprod=(dbid.find(
"oracle")!=std::string::npos && (
648 dbid.find(
"ATLAS_COOLONL_")!=std::string::npos ||
649 dbid.find(
"ATLAS_COOLOFL_")!=std::string::npos ||
650 dbid.find(
"ATLAS_COOL_")!=std::string::npos));
652 bool dbidwriter=(dbid.find(
"oracle")!=std::string::npos &&
653 dbid.find(
"_W")!=std::string::npos);
654 ATH_MSG_DEBUG (
"Identified prod/writer " << dbidprod << dbidwriter);
657 ATH_MSG_FATAL (
"Direct update of production Oracle servers from Athena is FORBIDDEN");
658 ATH_MSG_FATAL (
"Please write to SQLite file and then merge with AtlCoolMerge.py");
659 return StatusCode::FAILURE;
667 if (
"CondAttrListCollection"==
typeName) {
672 return StatusCode::FAILURE;
674 }
else if (storeAttrListColl) {
683 << addr <<
" " << attrAddr <<
" " << attrListColl);
685 ATH_MSG_ERROR (
"Could not extract ptr for CondAttrListCollAddress ");
686 return StatusCode::FAILURE;
689 ATH_MSG_ERROR (
"Cannot write out collection of POOLref without streaming them first" );
690 return StatusCode::FAILURE;
694 if (StatusCode::SUCCESS!=
m_detStore->retrieve(attrList,
key)) {
697 return StatusCode::FAILURE;
712 bool createFolders =
false;
714 if(
db->existsFolder(local_folder)) {
718 if (dbidprod || dbidwriter) {
719 ATH_MSG_FATAL (
"Apparent attempt to delete folder on production COOL schema " << dbid);
720 return StatusCode::FAILURE;
723 ATH_MSG_DEBUG (
" Deleting existing COOL Folder " << local_folder);
724 db->dropNode( local_folder );
725 createFolders =
true;
730 folder =
db->getFolder(local_folder);
736 <<
" does not exist - must create it");
737 createFolders =
true;
741 std::string address_header;
742 std::string address_data;
745 if (
sc.isFailure()) {
747 <<
"addr: " << saddr <<
"\n"
748 <<
"hdr: " << address_header <<
"\n"
749 <<
"data " << address_data);
750 return( StatusCode::FAILURE);
753 <<
" hdr: " << address_header <<
endmsg
754 <<
" data: " << address_data <<
endmsg;
760 ATH_MSG_FATAL (
"Apparent attempt to create folder using writer account, dbID is: " << dbid);
761 return StatusCode::FAILURE;
780 std::string mergedNames;
784 if (
sc.isFailure()) {
785 ATH_MSG_ERROR (
"Could not merge towards merged description: "
787 return( StatusCode::FAILURE);
792 if (
sc.isFailure()) {
793 ATH_MSG_ERROR (
"Could not merge towards merged description: "
794 <<
"addrHeader: " << address_header);
795 return( StatusCode::FAILURE);
805 if (
sc.isFailure()) {
806 ATH_MSG_ERROR (
"Could not merge towards merged description: "
808 return( StatusCode::FAILURE);
813 if (!symlinks.empty()) {
814 std::string symlinkTypes;
815 for (
unsigned int i = 0;
i < symlinks.size(); ++
i) {
818 if (
sc.isFailure()) {
821 return( StatusCode::FAILURE);
825 << symlinks[
i] <<
" " <<
type);
827 if (symlinkTypes.size()) symlinkTypes +=
':';
828 symlinkTypes +=
type;
831 if (
sc.isFailure()) {
832 msg() << MSG::ERROR <<
"Could not merge symlinks to merged description: "
833 <<
"symlink types: ";
834 for (
unsigned int i = 0;
i < symlinkTypes.size(); ++
i) {
835 msg() << MSG::ERROR << symlinkTypes[
i] <<
" ";
838 return( StatusCode::FAILURE);
842 << symlinkTypes <<
" " << mergedNames);
849 if (!
start.isValid() ||
851 start.isTimestamp() !=
stop.isTimestamp() ||
852 start.isRunEvent() !=
stop.isRunEvent()) {
853 ATH_MSG_ERROR (
"Invalid times: start isValid/isTimeStamp/isRunEvent "
854 <<
"addrHeader: " << address_header
855 <<
start.isValid() <<
" " <<
start.isTimestamp() <<
" "
856 <<
start.isRunEvent());
857 ATH_MSG_ERROR (
"Invalid times: stop isValid/isTimeStamp/isRunEvent "
858 <<
"addrHeader: " << address_header
859 <<
stop.isValid() <<
" " <<
stop.isTimestamp() <<
" "
860 <<
stop.isRunEvent());
861 return( StatusCode::FAILURE);
863 bool isTimeStamp =
false;
864 if (
start.isTimestamp()) isTimeStamp =
true;
876 if (
sc.isFailure()) {
877 ATH_MSG_ERROR (
"Could not merge timeStamp flag towards merged description. ");
878 return( StatusCode::FAILURE);
881 if (storeAttrListColl && attrListColl!=0 &&
882 attrListColl->
name_size()>0) mergedNames+=
"<named/>";
885 <<
" with description " << mergedNames);
891 cool::RecordSpecification payloadSpec;
896 payloadSpec.extend(
"PoolRef",cool::StorageType::String4k);
901 if (storeAttrListColl) {
905 if (0 == attrListColl) {
907 return( StatusCode::FAILURE);
910 if (0 == attrListColl->
size()) {
912 return( StatusCode::FAILURE);
916 attrListColl->
size());
926 for (coral::AttributeList::const_iterator itr=
927 atr4spec->begin();itr!=atr4spec->end();++itr) {
930 payloadSpec.extend(itr->specification().name(),
932 itr->specification().typeName()));
937 cool::FolderVersioning::MULTI_VERSION;
939 version=cool::FolderVersioning::SINGLE_VERSION;
946 cool::FolderSpecification
folderSpec(
version,payloadSpec,cool::PayloadMode::SEPARATEPAYLOAD);
950 local_folder <<
" done");
953 if (storeAttrListColl && attrListColl!=0 &&
956 " channels in " << local_folder);
959 nitr!=attrListColl->
name_end();++nitr) {
960 folder->createChannel(nitr->first,nitr->second);
967 if (storeAttrListColl) {
969 <<
start <<
" " <<
stop <<
" Note: will be ignored for channels with differnt IOVs " );
976 cool::ValidityKey ivStart =
start.re_time();
977 cool::ValidityKey ivStop =
stop.re_time();
978 if(
start.isTimestamp()) {
979 ivStart =
start.timestamp();
980 ivStop =
stop.timestamp();
985 const cool::RecordSpecification& rspec=
folder->payloadSpecification();
987 if (storeAttrListColl) {
997 ATH_MSG_ERROR (
"Trying to store a ref for a CondAttrListCollection. ");
998 return( StatusCode::FAILURE);
1002 <<
", " <<
tag <<
" )");
1016 cool::ValidityKey ivStart1 = ivStart;
1017 cool::ValidityKey ivStop1 = ivStop;
1019 std::ostringstream attr;
1020 payload.toOutputStream( attr );
1024 if(
range.start().isTimestamp()) {
1025 ivStart1 =
range.start().timestamp();
1026 ivStop1 =
range.stop().timestamp();
1029 ivStart1 =
range.start().re_time();
1030 ivStop1 =
range.stop().re_time();
1033 <<
range.start() <<
" " <<
range.stop() <<
" ");
1041 cool::Record record(rspec,
payload);
1044 folder->storeObject( ivStart1,
1049 folder->storeObject( ivStart1,
1058 cool::Record record(rspec);
1061 record[
"PoolRef"].setValue<std::string>(address_data);
1065 record=cool::Record(rspec,*attrList);
1071 folder->storeObject( ivStart,
1075 folder->storeObject( ivStart,
1081 <<
", " <<
tag <<
" )");
1090 ATH_MSG_DEBUG (
" tag is empty - folder is not being tagged ");
1093 ATH_MSG_INFO (
" Tagging HEAD of folder " << local_folder <<
1094 " with tag " <<
tag);
1098 catch ( cool::TagExists&
e) {
1100 " exists - attempt to delete tag and retag HEAD");
1105 ATH_MSG_ERROR (
"Tag is defined in another folder - tag names must be global");
1106 }
else if (
folder->existsUserTag(
tag)) {
1110 " is already USER tag - cannot mix tagging modes");
1117 catch ( cool::TagNotFound&
e) {
1124 return StatusCode::SUCCESS;
1131 return StatusCode::FAILURE;
◆ splitAddress()
StatusCode IOVRegistrationSvc::splitAddress |
( |
const std::string & |
address, |
|
|
std::string & |
address_header, |
|
|
std::string & |
address_data |
|
) |
| const |
|
private |
Split address in its header and data parts.
Definition at line 1202 of file IOVRegistrationSvc.cxx.
1210 std::string::size_type p1=
address.find(
" />");
1211 if (p1!=std::string::npos) {
1212 address_header=
address.substr(0,p1+3);
1213 address_data=
address.substr(p1+4);
1214 return StatusCode::SUCCESS;
1216 return StatusCode::FAILURE;
◆ timeToNano()
uint64_t IOVRegistrationSvc::timeToNano |
( |
const unsigned long int |
timesec | ) |
const |
|
private |
◆ type()
const InterfaceID & IOVRegistrationSvc::type |
( |
| ) |
const |
|
virtual |
◆ SvcFactory< IOVRegistrationSvc >
◆ m_beginLB
UnsignedIntegerProperty IOVRegistrationSvc::m_beginLB |
|
private |
◆ m_beginRun
UnsignedIntegerProperty IOVRegistrationSvc::m_beginRun |
|
private |
◆ m_beginTime
UnsignedLongProperty IOVRegistrationSvc::m_beginTime |
|
private |
◆ m_clidSvc
◆ m_detStore
◆ m_endLB
UnsignedIntegerProperty IOVRegistrationSvc::m_endLB |
|
private |
◆ m_endRun
UnsignedIntegerProperty IOVRegistrationSvc::m_endRun |
|
private |
◆ m_endTime
UnsignedLongProperty IOVRegistrationSvc::m_endTime |
|
private |
◆ m_forceGlobalIOV
BooleanProperty IOVRegistrationSvc::m_forceGlobalIOV |
|
private |
◆ m_iov_db
◆ m_overrideName
std::vector<std::string> IOVRegistrationSvc::m_overrideName |
|
private |
◆ m_overrideType
std::vector<std::string> IOVRegistrationSvc::m_overrideType |
|
private |
◆ m_payloadTable
BooleanProperty IOVRegistrationSvc::m_payloadTable |
|
private |
◆ m_persSvc
◆ m_recreateFolders
BooleanProperty IOVRegistrationSvc::m_recreateFolders |
|
private |
◆ m_svFolder
BooleanProperty IOVRegistrationSvc::m_svFolder |
|
private |
◆ m_tag
StringProperty IOVRegistrationSvc::m_tag |
|
private |
◆ m_tagDescription
StringProperty IOVRegistrationSvc::m_tagDescription |
|
private |
◆ m_timeStamp
BooleanProperty IOVRegistrationSvc::m_timeStamp |
|
private |
◆ m_userTags
BooleanProperty IOVRegistrationSvc::m_userTags |
|
private |
◆ m_userTagsUH
BooleanProperty IOVRegistrationSvc::m_userTagsUH |
|
private |
◆ m_writeKeyInfo
BooleanProperty IOVRegistrationSvc::m_writeKeyInfo |
|
private |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
const_iterator end() const
UnsignedIntegerProperty m_beginLB
Validity Range object. Holds two IOVTimes (start and stop)
iov_const_iterator iov_end() const
static constexpr uint32_t MAXRUN
std::string find(const std::string &s)
return a remapped string
BooleanProperty m_svFolder
BooleanProperty m_writeKeyInfo
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
BooleanProperty m_userTags
StatusCode registerIOVCOOL(const std::string &typeName, const std::string &key, const std::string &folderName, const std::string &tag, const IOVTime &begin, const IOVTime &end) const
UnsignedIntegerProperty m_endRun
This class is a collection of AttributeLists where each one is associated with a channel number....
UnsignedIntegerProperty m_endLB
ChanIOVMap::const_iterator iov_const_iterator
static constexpr uint32_t MINRUN
StatusCode splitAddress(const std::string &address, std::string &address_header, std::string &address_data) const
Split address in its header and data parts.
This class provides the an IOpaqueAddress/GenericAddress which can hold a pointer to an CondAttrListC...
ChanNameMap::const_iterator name_const_iterator
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
BooleanProperty m_forceGlobalIOV
ServiceHandle< IIOVCondDbSvc > m_iov_db
::StatusCode StatusCode
StatusCode definition for legacy code.
static constexpr uint64_t MAXTIMESTAMP
cool::StorageType::TypeId coralToCoolType(const std::string &parname, const std::string &coralName) const
This is an interface to a service used to register conditions objects in the Interval of Validity (IO...
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
AthROOTErrorHandlerSvc * svc
std::vector< std::string > m_overrideType
uint32_t CLID
The Class ID type.
ServiceHandle< IAddressCreator > m_persSvc
BooleanProperty m_recreateFolders
name_const_iterator name_begin() const
Access to Chan/Name pairs via iterators.
static constexpr uint32_t MAXEVENT
UnsignedLongProperty m_endTime
name_size_type name_size() const
number of Chan/Name pairs
CondAttrListCollection * attrListColl()
Access to AttributeList.
static constexpr uint32_t MINEVENT
size_type size() const
number of Chan/AttributeList pairs
ServiceHandle< IClassIDSvc > m_clidSvc
virtual StatusCode buildDescription(const std::string &identifier, const std::string &value, std::string &description) const
Build the folder description field add in front of the description the value with identifier-markups.
virtual const InterfaceID & type() const
Service type.
#define ATH_MSG_WARNING(x)
ChanAttrListMap::const_iterator const_iterator
virtual StatusCode registerIOV(const std::string &typeName) const
Register IOV DB for an object given its typeName - run/LB numbers interval or times interval and tag ...
BooleanProperty m_payloadTable
BooleanProperty m_userTagsUH
UnsignedLongProperty m_beginTime
static const InterfaceID & interfaceID()
Retrieve interface ID.
BooleanProperty m_timeStamp
static constexpr uint64_t MINTIMESTAMP
std::vector< std::string > m_overrideName
iov_const_iterator chanIOVPair(ChanNum chanNum) const
Access to Chan/IOV pairs via channel number: returns map iterator.
UnsignedIntegerProperty m_beginRun
ServiceHandle< StoreGateSvc > m_detStore
uint64_t timeToNano(const unsigned long int timesec) const
name_const_iterator name_end() const
std::string description
glabal timer - how long have I taken so far?
StringProperty m_tagDescription