11bool GstreamerJsonFactory::startEventImpl(
const std::shared_ptr<GEventDataCollection>& event_data) {
17 if (!event_data->getHeader()) {
23 ensureFileInitializedForType(
"event");
26 is_building_event =
true;
27 current_event.str(std::string());
28 current_event.clear();
29 current_event_has_header =
false;
30 current_event_has_any_detector =
false;
33 event_number = event_data->getHeader()->getG4LocalEvn();
36 current_event <<
"\"event_number\": " << event_number;
39 current_event <<
", \"header\": {";
43bool GstreamerJsonFactory::endEventImpl(
const std::shared_ptr<GEventDataCollection>& event_data) {
44 if (!is_building_event) {
50 if (!current_event_has_header) {
51 current_event <<
"\"timestamp\": \"\", \"thread_id\": -1";
56 if (!current_event_has_any_detector) {
57 current_event <<
", \"detectors\": {}";
62 writeTopLevelEntry(current_event.str());
64 is_building_event =
false;
std::shared_ptr< GLogger > log
void error(int exit_code, Args &&... args) const
Shared constants and error codes for the gstreamer module.
#define ERR_PUBLISH_ERROR
Publish sequence encountered invalid state or invalid input data.
#define ERR_CANTOPENOUTPUT
Output medium could not be opened successfully.
JSON streamer plugin declarations.