gstreamer
Loading...
Searching...
No Matches
GstreamerCsvFactory Class Reference

CSV plugin writing flattened event and run data into separate CSV files. More...

#include <gstreamerCSVFactory.h>

Public Member Functions

 GstreamerCsvFactory (const GstreamerCsvFactory &)=delete
GstreamerCsvFactoryoperator= (const GstreamerCsvFactory &)=delete
 GstreamerCsvFactory (GstreamerCsvFactory &&)=delete
GstreamerCsvFactoryoperator= (GstreamerCsvFactory &&)=delete
 GStreamer (const std::shared_ptr< GOptions > &g)
 Inherit the constructor taking the parsed options container.
Public Member Functions inherited from GStreamer
 GStreamer (const std::shared_ptr< GOptions > &g)
 Construct the streamer base and initialize module logging.
virtual ~GStreamer ()=default
 Virtual destructor.
bool closeConnection ()
 Close the output medium after flushing buffered events.
void publishEventData (const std::shared_ptr< GEventDataCollection > &event_data)
 Queue one event for publication.
void publishRunData (const std::shared_ptr< GRunDataCollection > &run_data)
 Publish one run-level data collection immediately.
std::string getStreamType () const
 Return the semantic stream type associated with this streamer instance.
void define_gstreamer (const GStreamerDefinition &gstreamerDefinition, int tid=-1)
 Assign the output definition used by this streamer instance.
void set_loggers (const std::shared_ptr< GOptions > &g)
 Load streamer runtime settings from the parsed options container.
Public Member Functions inherited from GBase< GStreamer >
 GBase (const std::shared_ptr< GOptions > &gopt, std::string logger_name="")
virtual ~GBase ()
GBaseoperator= (const GBase &)=default

Additional Inherited Members

Static Public Member Functions inherited from GStreamer
static const std::vector< std::string > & supported_formats ()
 Return the list of output format tokens supported by the module.
static bool is_valid_format (const std::string &format)
 Validate whether a format token is supported.
static GStreamerinstantiate (const dlhandle h, std::shared_ptr< GOptions > g)
 Instantiate a streamer plugin from a dynamic library handle.
Protected Member Functions inherited from GStreamer
bool startEvent (const std::shared_ptr< GEventDataCollection > &event_data)
 Begin publishing one buffered event.
bool endEvent (const std::shared_ptr< GEventDataCollection > &event_data)
 End publishing one buffered event.
bool publishEventHeader (const std::unique_ptr< GEventHeader > &gevent_header)
 Publish the event header for the current event sequence.
bool publishEventTrueInfoData (const std::string &detectorName, const std::vector< const GTrueInfoData * > &trueInfoData)
 Publish the true-information hit bank for one detector.
bool publishEventDigitizedData (const std::string &detectorName, const std::vector< const GDigitizedData * > &digitizedData)
 Publish the digitized hit bank for one detector.
bool publishEventGeneratedParticles (const std::string &bankName, const GGeneratedParticleBank &particles)
bool publishEventAncestors (const GAncestorBank &ancestors)
 Publishes the event-local ancestor bank.
bool startRun (const std::shared_ptr< GRunDataCollection > &run_data)
 Begin publishing one run-level collection.
bool endRun (const std::shared_ptr< GRunDataCollection > &run_data)
 End publishing one run-level collection.
bool publishRunHeader (const std::unique_ptr< GRunHeader > &run_header)
 Publish the run header for the current run sequence.
virtual bool publishRunHeaderImpl (const std::unique_ptr< GRunHeader > &run_header)
 Plugin-specific implementation hook for serializing one run header.
bool publishRunDigitizedData (const std::string &detectorName, const std::vector< const GDigitizedData * > &digitizedData)
 Publish run-level digitized data for one detector.
bool startStream (const GFrameDataCollection *frameRunData)
 Begin publishing one frame stream record.
bool publishFrameHeader (const GFrameHeader *gframeHeader)
 Publish one frame header.
bool publishPayload (const std::vector< GIntegralPayload * > *payload)
 Publish one frame payload.
bool endStream (const GFrameDataCollection *frameRunData)
 End publishing one frame stream record.
void flushEventBuffer ()
 Flush all buffered events to the backend in publish order.
Protected Attributes inherited from GStreamer
GStreamerDefinition gstreamer_definitions
 Output definition currently bound to this streamer instance.
Protected Attributes inherited from GBase< GStreamer >
std::shared_ptr< GLoggerlog

Detailed Description

This plugin separates true-information and digitized data into distinct output files:

  • "<rootname>_true_info.csv"
  • "<rootname>_digitized.csv"
  • "<rootname>_generated.csv"
  • "<rootname>_generated_tracked.csv"
  • "<rootname>_ancestors.csv" when ancestor output is requested

For each file, the first non-empty collection determines the column set. A header row is then emitted once, and every subsequent hit is written as one flattened row.

Event-mode rows include:

  • event number
  • timestamp
  • thread id
  • detector name
  • hit variables

Run-mode digitized rows reuse the same flattened output strategy for run collections.

Threading model:

  • one instance per worker thread is the intended usage
  • copy and move are disabled to avoid accidental sharing of streams and cached state

Definition at line 43 of file gstreamerCSVFactory.h.

Constructor & Destructor Documentation

◆ GstreamerCsvFactory() [1/2]

GstreamerCsvFactory::GstreamerCsvFactory ( const GstreamerCsvFactory & )
delete

◆ GstreamerCsvFactory() [2/2]

GstreamerCsvFactory::GstreamerCsvFactory ( GstreamerCsvFactory && )
delete

Member Function Documentation

◆ GStreamer()

GStreamer::GStreamer ( const std::shared_ptr< GOptions > & g)
inlineexplicit

Definition at line 85 of file gstreamer.h.

◆ operator=() [1/2]

GstreamerCsvFactory & GstreamerCsvFactory::operator= ( const GstreamerCsvFactory & )
delete

◆ operator=() [2/2]

GstreamerCsvFactory & GstreamerCsvFactory::operator= ( GstreamerCsvFactory && )
delete

The documentation for this class was generated from the following files: