CbmRoot
Loading...
Searching...
No Matches
CbmRunDatabaseContainer.cxx
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9
11
12#include <cstdlib>
13#include <stdexcept>
14#include <string>
15
17
18// ---------------------------------------------------------------------------------------------------------------------
19//
21{
22 // Setting default path
23 std::string srcDir = std::getenv("VMCWORKDIR") != nullptr ? std::getenv("VMCWORKDIR") : "";
24 if (srcDir.empty()) {
25 throw std::runtime_error("RunDatabaseContainer: VMCWORKDIR environmental variable not found. Please configure your "
26 "CbmRoot");
27 }
28 this->SetPathCommonDb(srcDir + "/parameters/online/CbmRunDatabase.yaml");
29 this->SetPathRunStartTimeDb(srcDir + "/parameters/online/mcbm_run_start_table.yaml");
30}
31
32// ---------------------------------------------------------------------------------------------------------------------
33//
35{
36 static RunDatabaseContainer instance;
37 return instance;
38}
A singleton helper class for keeping the CbmRunDatabase instance in ROOT environment.
RunDatabaseContainer()
Default constructor.
static RunDatabaseContainer & Instance()
Instance access.
RunDatabaseContainer(const RunDatabaseContainer &)=delete
Disable copy and move.
void SetPathRunStartTimeDb(const std::string &pathRunStartTimeDb)
Sets an alternative path to run starttime DB file.
void SetPathCommonDb(const std::string &pathCommonDb)
Sets an alternative path to the common DB file.