Commit 435745f6 authored by Carsten Burgard's avatar Carsten Burgard 💬
Browse files

changed unit loading to load-time to avoid errors when using two instances of corry in the same run

parent f6a3282b
Pipeline #3203610 failed with stages
in 14 minutes and 59 seconds
......@@ -143,9 +143,6 @@ void Corryvreckan::load() {
<< ". Using current directory instead.";
}
// Set the default units to use
add_units();
// Load the modules from the configuration
if(!terminate_) {
mod_mgr_->load(conf_mgr_.get());
......@@ -200,56 +197,6 @@ void Corryvreckan::terminate() {
mod_mgr_->terminate();
}
void Corryvreckan::add_units() {
LOG(TRACE) << "Adding physical units";
// LENGTH
Units::add("nm", 1e-6);
Units::add("um", 1e-3);
Units::add("mm", 1);
Units::add("cm", 1e1);
Units::add("dm", 1e2);
Units::add("m", 1e3);
Units::add("km", 1e6);
// TIME
Units::add("ps", 1e-3);
Units::add("ns", 1);
Units::add("us", 1e3);
Units::add("ms", 1e6);
Units::add("s", 1e9);
// TEMPERATURE
Units::add("K", 1);
// ENERGY
Units::add("eV", 1e-6);
Units::add("keV", 1e-3);
Units::add("MeV", 1);
Units::add("GeV", 1e3);
// CHARGE
Units::add("e", 1);
Units::add("ke", 1e3);
Units::add("fC", 1 / 1.602176634e-4);
Units::add("C", 1 / 1.602176634e-19);
// VOLTAGE
// NOTE: fixed by above
Units::add("V", 1e-6);
Units::add("kV", 1e-3);
// MAGNETIC FIELD
Units::add("T", 1e-3);
Units::add("mT", 1e-6);
// ANGLES
// NOTE: these are fake units
Units::add("deg", 3.14159265358979323846 / 180.0);
Units::add("rad", 1);
Units::add("mrad", 1e-3);
}
ModuleManager* Corryvreckan::getModuleManager() {
return mod_mgr_.get();
}
......@@ -257,3 +204,58 @@ ModuleManager* Corryvreckan::getModuleManager() {
ConfigManager* Corryvreckan::getConfigManager() {
return conf_mgr_.get();
}
namespace {
int add_units() {
LOG(TRACE) << "Adding physical units";
// LENGTH
Units::add("nm", 1e-6);
Units::add("um", 1e-3);
Units::add("mm", 1);
Units::add("cm", 1e1);
Units::add("dm", 1e2);
Units::add("m", 1e3);
Units::add("km", 1e6);
// TIME
Units::add("ps", 1e-3);
Units::add("ns", 1);
Units::add("us", 1e3);
Units::add("ms", 1e6);
Units::add("s", 1e9);
// TEMPERATURE
Units::add("K", 1);
// ENERGY
Units::add("eV", 1e-6);
Units::add("keV", 1e-3);
Units::add("MeV", 1);
Units::add("GeV", 1e3);
// CHARGE
Units::add("e", 1);
Units::add("ke", 1e3);
Units::add("fC", 1 / 1.602176634e-4);
Units::add("C", 1 / 1.602176634e-19);
// VOLTAGE
// NOTE: fixed by above
Units::add("V", 1e-6);
Units::add("kV", 1e-3);
// MAGNETIC FIELD
Units::add("T", 1e-3);
Units::add("mT", 1e-6);
// ANGLES
// NOTE: these are fake units
Units::add("deg", 3.14159265358979323846 / 180.0);
Units::add("rad", 1);
Units::add("mrad", 1e-3);
return 1;
};
int units_loaded = add_units();
} // namespace
......@@ -84,11 +84,6 @@ namespace corryvreckan {
ConfigManager* getConfigManager();
private:
/**
* @brief Sets the default unit conventions
*/
void add_units();
/**
* @brief Set the default ROOT plot style
*/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment