void populate_fields(const shared<Message>& event) { if (_desc && _refl) return; _desc = event->GetDescriptor(); _refl = event->GetReflection(); _field_run = _desc->FindFieldByName("run_number"); _field_mc_channel = _desc->FindFieldByName("mc_channel_number"); }