NSCLDAQ Unified Format Library

Ron Fox


Table of Contents
1. Introduction
1.1. Motivation
1.2. Document Organization
1.2.1. Incorporating this library into your programs
2. Library Organization
2.1. Ring Item classes.
2.2. Factories.
3. Factories and the Abstract Factory Pattern
4. Reference pages
4.1. Abstract Formatting
Format Selector -- Select Specific Format Factory
RingItemFactoryBase -- Provide interface for ring item factoires.
CRingItem (abstract) -- Ultimate ring item base class
CAbnormalEndItem (abstract) -- Support ring items that flag abnormally ended runs.
CDataFormatItem (abstract) -- Ring item that describes format version
CGlomParameters (abstract) -- Document event building parameters
CPhysicsEventItem (abstract) -- Encapsulate the data from a physics trigger.
CRingFragmentItem (abstract) -- Ring item to encapsulate event builder fragments.
CRingPhysicsEventCountItem (abstract) -- Ring Item with trigger counts.
CRingScalerItem (abstract) -- Encapsulate periodic scaler readouts.
CRingStateChangeItem (abstract) -- Encapsulate run state change items.
CRingTextItem (abstract) -- Encapsulate a ring item of text strings
CUnknownFragment (abstract) -- 
4.2. NSCLDAQ version 10 format
RingItemFactory (version 10) -- Generate v10 ring item objects.
CRingItem (version 10) -- Version 10 ring item class.
CRingFragmentItem (version 10) -- Event builder fragment
CRingPhysicsEventCountItem (v10) -- Encapsulate trigger count ring item.
CRingScalerItem (v10) -- Encapsulate a scaler counts ring item.
CRingStateChangeItem (v10) -- Encapsulate run state change ring items.
CRingTextItem (v10) -- Encapsulate a set of textual strings
4.3. NSCLDAQ version 11 format
RingItemFactory (v11) -- Create ring items in version 11 format.
CRingItem (v11) -- Encapsulate version 11 ring items.
CAbnormalEndItem (v11) -- Encapsulate abnormal end run item.
CDataFormatItem (v11) -- Provide the format version of subsequent data
CGlomParameters (V11) -- Document event builder parameters.
CPhysicsEventItem (v11) -- Encapsulate a physics event.
CRingFragmentItem (v11) -- Encapsulate an event builder fragment.
CRingPhysicsEventCountItem (v11) -- Encapsulate trigger count ring item.
CRingScalerItem (v11) -- Encapsulate periodic scaler ring items.
CRingStateChangeItem (v11) -- Encapsulate state change ring items.
CRingTextItem (v11) -- Encapsulate text strings.
CUnknownFragment (v11) -- Event buider fragments with non ringitem payloads.
4.4. NSCLDAQ Version 12 format
RingItemFactory (v12) -- Create ring items formatted for version 12.
CRingItem (v12) -- Encapsulate V12 undifferentiated ring item
CAbnormalEndItem (v12) -- Encapsulate abnormal end run item.
CDataFormatItem (v12) -- Document the version of NSCLDAQ format that follows
CGLomParameters (v12) -- Document event builder parameters.
CPhysicsEventItem (v12) -- Encapsulate physics event data.
CRingFragmentItem (v12) -- Encapsulate an event builder fragment.
CRingPhysicsEventCountItem (v12) -- Document trigger counts.
CRingScalerItem (v12) -- Encapsulate scaler data
CRingStateChangeItem (v12) -- Document changes in DAQ state.
CRingTextItem (V12) -- Encapsulate text list ring items.
CUnknonwFragment (v12) -- Fragment item that does not contain a ring item.
4.5. Sample Program(s)
evtdump -- Multi format event file dumper
List of Examples
2-1. Generating a Physics item for NSCLDAQ-11
2-2. Using Factories to Make a Physics Item for NSCLDAQ-11
3-1. Using a Version Designator to Construct a Ring Item Factory:
3-2. Using ring format items to select a format factory
4-1. Using smart pointers with the v10 factory object
4-1. Adding a body header extension
4-1. Adding a body header extension