The NSCL event builder is a pipeline. At the front of the pipeline is the fragment orderer. The fragment orderer accepts fragments from an arbitrary number of sources, orders them by timestamp and emits them in timestamp order. If you want events actually built from these sorted fragments, your event building pipeline will need an element to glue together fragments whose timestamps are within a specified coincidence window, and create ring items from them.
The program that does this is glom. [1]
Glom accepts fragments on standard input and emits ring items on standard output. These may be further processed in later stages of a pipeline or they can be piped into stdintoring to insert them in a ring buffer for further distribution.
For reference information on glom see: glom
Glom's output consists of ring items with the following format:
A uint32_t size in bytes of the event. This size is self inclusive
A series of FlatFragment items as defined in the fragment.h header file. The number of fragments is the number required to completely fill the event as determined by the size above.
[1] | The online urban dictionary at http://www.urbandictionary.com gives as part of definition 3: "to collect or cluster together. " |