Auxiliary objects

These objects are used during graph definition to configure event types and processor nodes.

Numeric traits

NumericTraits objects are used to specify the numeric types used for timestamp and related event fields.

libtcspc.NumericTraits

Set of integer types used by events and processors that are parameterised by numeric traits.

Parameters

Various settings of processing nodes and other auxiliary objects can be left parameterized in the graph, so that the compiled graph can be reused with different values for those settings, supplied when creating the execution context. The Param object serves as a placeholder for parameterized values.

libtcspc.Param

Typed placeholder for a run-time parameter of a processing graph.

Access tags

Some processing nodes support direct interaction at run time. This is used, for example, to retrieve results from nodes that collect statistics, or to control stream behavior such as buffering. To enable such access, an AccessTag is attached to the node during graph definition; at execution time, access to the node can be obtained using the same tag.

libtcspc.AccessTag

Tag attached to _Accessible objects.

Acquisition readers

Readers that supply data to the Acquire processor by wrapping pull-style device APIs.

libtcspc.AcquisitionReader

Base class for built-in C++-side acquisition data sources usable with Acquire.

libtcspc.NullReader

Acquisition reader that immediately signals end of stream.

libtcspc.StuckReader

Acquisition reader that waits indefinitely without producing data.

Bucket sources

Allocation strategies for bucket instances used by processors that produce bulk data.

libtcspc.BucketSource

Base class for sources of bucket storage used by stream-processing graphs.

libtcspc.NewDeleteBucketSource

Bucket source that allocates fresh storage for each bucket using new[]/delete[].

libtcspc.RecyclingBucketSource

Bucket source that reuses storage from destroyed buckets.

Routers

Routers select the destination output port for events handled by the Route processor.

libtcspc.Router

Base class for routers used by the Route processor.

libtcspc.ChannelRouter

Router that routes events by their channel number.

libtcspc.NullRouter

Router that discards every routed event.

Matchers

Matchers decide which events are matched by the Match and MatchAndConsume processors.

libtcspc.Matcher

Base class for matchers used by the Match and MatchAndConsume processors.

libtcspc.AlwaysMatcher

Matcher that matches every event.

libtcspc.NeverMatcher

Matcher that matches no event.

libtcspc.ChannelMatcher

Matcher that matches events whose channel equals a given value.

Timing generators

Timing generators produce patterns of timing events for the Generate processor.

libtcspc.TimingGenerator

Base class for timing generators used by the Generate processor.

libtcspc.NullTimingGenerator

Timing generator that never generates any output event.

libtcspc.OneShotTimingGenerator

Timing generator that emits a single output event at a fixed delay.

libtcspc.DynamicOneShotTimingGenerator

Timing generator that emits a single output event whose delay comes from the trigger.

libtcspc.LinearTimingGenerator

Timing generator that emits a fixed number of equally-spaced output events.

libtcspc.DynamicLinearTimingGenerator

Timing generator that emits equally-spaced events with parameters from the trigger.

Data mappers

Data mappers extract a datapoint value from events for the MapToDatapoints processor.

libtcspc.DataMapper

Base class for data mappers used by the MapToDatapoints processor.

libtcspc.DifftimeDataMapper

Data mapper that maps the difftime field to the datapoint value.

libtcspc.CountDataMapper

Data mapper that maps the count field to the datapoint value.

libtcspc.ChannelDataMapper

Data mapper that maps the channel field to the datapoint value.

Bin mappers

Bin mappers map datapoint values to histogram bin indices for the MapToBins processor.

libtcspc.BinMapper

Base class for bin mappers used by the MapToBins processor.

libtcspc.PowerOf2BinMapper

Bin mapper that discards the least significant bits of the datapoint.

libtcspc.LinearBinMapper

Bin mapper that maps datapoints to bins of equal width.

libtcspc.UniqueBinMapper

Bin mapper that assigns a new bin index to each distinct datapoint.

Input streams

Inputs to source processor nodes such as ReadBinaryStream.

libtcspc.InputStream

Base class for binary input streams used by ReadBinaryStream.

libtcspc.NullInputStream

Binary input stream that contains no data.

libtcspc.BinaryFileInputStream

Binary input stream that reads from a file on disk.

Output streams

Outputs to sink processor nodes such as WriteBinaryStream.

libtcspc.OutputStream

Base class for binary output streams used by WriteBinaryStream.

libtcspc.NullOutputStream

Binary output stream that discards all data written to it.

libtcspc.BinaryFileOutputStream

Binary output stream that writes to a file on disk.