8bool GstreamerJsonFactory::startEventImpl(
const std::shared_ptr<GEventDataCollection>& event_data) {
14 if (!event_data->getHeader()) {
19 ensureFileInitializedForType(
"event");
22 is_building_event =
true;
23 current_event.str(std::string());
24 current_event.clear();
25 current_event_has_header =
false;
26 current_event_has_any_detector =
false;
29 event_number = event_data->getHeader()->getG4LocalEvn();
33 current_event <<
"\"event_number\": " << event_number;
36 current_event <<
", \"header\": {";
41bool GstreamerJsonFactory::endEventImpl(
const std::shared_ptr<GEventDataCollection>& event_data) {
42 if (!is_building_event) {
48 if (!current_event_has_header) {
50 current_event <<
"\"timestamp\": \"\", \"thread_id\": -1";
55 if (!current_event_has_any_detector) {
56 current_event <<
", \"detectors\": {}";
62 writeTopLevelEntry(current_event.str());
65 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
Generic publish-time error (null pointers, invalid state).
#define ERR_CANTOPENOUTPUT
Output medium could not be opened (file/device not accessible).