ATLAS Offline Software
Loading...
Searching...
No Matches
dqi::HanConfig::RefWriter Class Reference

#include <HanConfig.h>

Inheritance diagram for dqi::HanConfig::RefWriter:
Collaboration diagram for dqi::HanConfig::RefWriter:

Public Member Functions

 RefWriter (DatabaseConfig &databaseConfig_, const bool bulk)
virtual void Write (MiniConfigTreeNode *node)

Protected Attributes

DatabaseConfigm_databaseConfig
const bool m_bulk {}

Detailed Description

Definition at line 86 of file HanConfig.h.

Constructor & Destructor Documentation

◆ RefWriter()

dqi::HanConfig::RefWriter::RefWriter ( DatabaseConfig & databaseConfig_,
const bool bulk )

Definition at line 417 of file HanConfig.cxx.

419 : m_databaseConfig(databaseConfig_),
420 m_bulk(bulk)
421{
422}
DatabaseConfig & m_databaseConfig
Definition HanConfig.h:91

Member Function Documentation

◆ Write()

void dqi::HanConfig::RefWriter::Write ( MiniConfigTreeNode * node)
virtual

Implements dqi::MiniConfigTreeNode::Writer.

Definition at line 426 of file HanConfig.cxx.

428{
429 std::string database = node->GetAttribute("database");
430
431 if(database != "") {
432 database += (m_bulk ? "-physics-UPD4" : "-express-UPD1");
433 nlohmann::json jsonPayload = m_databaseConfig.GetPayload(database);
434 std::string reference = node->GetName();
435
436 if(jsonPayload.find(reference) != jsonPayload.end()) {
437 nlohmann::json referenceJson = jsonPayload[std::move(reference)];
438 for (nlohmann::json::iterator it = referenceJson.begin(); it != referenceJson.end(); ++it) {
439 node->SetAttribute(it.key(), it.value(), false);
440 }
441 } else {
442 std::cerr << "Unable to find reference definition in database: " << reference << '\n';
443 }
444 }
445}

Member Data Documentation

◆ m_bulk

const bool dqi::HanConfig::RefWriter::m_bulk {}
protected

Definition at line 92 of file HanConfig.h.

92{};

◆ m_databaseConfig

DatabaseConfig& dqi::HanConfig::RefWriter::m_databaseConfig
protected

Definition at line 91 of file HanConfig.h.


The documentation for this class was generated from the following files: