void AcceleratorConfig::populate(INIReader &reader) { datDirectory_ = reader.Get("accelerator", "dat_directory", "~"); nElectrodes_ = reader.GetInteger("accelerator", "n_electrodes", 36); PAname_ = reader.Get("accelerator", "pa_name", "cylinder"); x_ = reader.GetInteger("accelerator", "x", 54) - 2; y_ = reader.GetInteger("accelerator", "y", 54) - 2; z_ = reader.GetInteger("accelerator", "z", 200) - 2; }
void ParticlesConfig::populate(INIReader &reader) { nParticles_ = static_cast<int>(reader.GetReal("particles", "n_particles", 50000)); k_ = reader.GetInteger("particles", "k", 20); kDist_ = reader.Get("particles", "k_dist", "single"); if (kDist_ != "single" && kDist_ != "uniform" && kDist_ != "triangle") { try { throw "Invalid k distribution value!"; } catch (const char* e) { std::cout << e << std::endl; std::terminate(); } } n_ = reader.GetInteger("particles", "n", 25); positionDist_ = reader.Get("particles", "position_dist", "full"); distRadius_ = (float) reader.GetReal("particles", "dist_radius", 0.5); distLength_ = (float) reader.GetReal("particles", "dist_length", 5); distOffset_ = (float) reader.GetReal("particles", "dist_offset", 22); temperature_ = (float) reader.GetReal("particles", "temperature", 1.0); }
void StorageConfig::populate(INIReader &reader) { storeCollisions_ = reader.GetBoolean("storage", "store_collisions", true); storeTrajectories_ = reader.GetBoolean("storage", "store_trajectories", true); compression_ = reader.GetInteger("storage", "compression", 0); }