$treeview $search $mathjax $extrastylesheet
artdaq_core
v3_06_01
$projectbrief
|
$projectbrief
|
$searchbox |
The RawFragmentHeaderV1 class contains the basic fields used by _artdaq_ for routing Fragment objects through the system. More...
#include <artdaq-core/Data/detail/RawFragmentHeaderV1.hh>
Public Types | |
typedef uint64_t | RawDataType |
The RawDataType (currently a 64-bit integer) is the basic unit of data representation within _artdaq_. | |
typedef uint16_t | version_t |
version field is 16 bits | |
typedef uint64_t | sequence_id_t |
sequence_id field is 48 bits | |
typedef uint8_t | type_t |
type field is 8 bits | |
typedef uint16_t | fragment_id_t |
fragment_id field is 16 bits | |
typedef uint8_t | metadata_word_count_t |
metadata_word_count field is 8 bits | |
typedef uint64_t | timestamp_t |
timestamp field is 32 bits | |
Public Member Functions | |
void | setUserType (uint8_t utype) |
Sets the type field to the specified user type. | |
void | setSystemType (uint8_t stype) |
Sets the type field to the specified system type. | |
RawFragmentHeader | upgrade () const |
Upgrades the RawFragmentHeaderV1 to a RawFragmentHeader (Current version). | |
Static Public Member Functions | |
static std::map< type_t, std::string > | MakeSystemTypeMap () |
Returns a map of the most-commonly used system types. | |
static std::map< type_t, std::string > | MakeVerboseSystemTypeMap () |
Returns a map of all system types. | |
static std::string | SystemTypeToString (type_t type) |
Print a system type's string name. | |
static constexpr std::size_t | num_words () |
Returns the number of RawDataType words present in the header. | |
Public Attributes | |
RawDataType | word_count: 32 |
number of RawDataType words in this Fragment | |
RawDataType | version: 16 |
The version of the fragment. | |
RawDataType | type: 8 |
The type of the fragment, either system or user-defined. | |
RawDataType | metadata_word_count: 8 |
The number of RawDataType words in the user-defined metadata. | |
RawDataType | sequence_id: 48 |
The 48-bit sequence_id uniquely identifies events within the _artdaq_ system. | |
RawDataType | fragment_id: 16 |
The fragment_id uniquely identifies a particular piece of hardware within the _artdaq_ system. | |
RawDataType | timestamp: 64 |
The 64-bit timestamp field is the output of a user-defined clock used for building time-correlated events. | |
Static Public Attributes | |
static constexpr type_t | INVALID_TYPE = 0 |
Marks a Fragment as Invalid. | |
static constexpr type_t | FIRST_USER_TYPE = 1 |
The first user-accessible type. | |
static constexpr type_t | LAST_USER_TYPE = 224 |
The last user-accessible type (types above this number are system types. | |
static constexpr type_t | FIRST_SYSTEM_TYPE = 225 |
The first system type. | |
static constexpr type_t | LAST_SYSTEM_TYPE = 255 |
The last system type. | |
static constexpr type_t | InvalidFragmentType = INVALID_TYPE |
Marks a Fragment as Invalid. | |
static constexpr type_t | EndOfDataFragmentType = FIRST_SYSTEM_TYPE |
This Fragment indicates the end of data to _art_. | |
static constexpr type_t | DataFragmentType = FIRST_SYSTEM_TYPE + 1 |
This Fragment holds data. Used for RawEvent Fragments sent from the EventBuilder to the Aggregator. | |
static constexpr type_t | InitFragmentType = FIRST_SYSTEM_TYPE + 2 |
This Fragment holds the necessary data for initializing _art_. | |
static constexpr type_t | EndOfRunFragmentType = FIRST_SYSTEM_TYPE + 3 |
This Fragment indicates the end of a run to _art_. | |
static constexpr type_t | EndOfSubrunFragmentType = FIRST_SYSTEM_TYPE + 4 |
This Fragment indicates the end of a subrun to _art_. | |
static constexpr type_t | ShutdownFragmentType = FIRST_SYSTEM_TYPE + 5 |
This Fragment indicates a system shutdown to _art_. | |
static constexpr type_t | EmptyFragmentType = FIRST_SYSTEM_TYPE + 6 |
This Fragment contains no data and serves as a placeholder for when no data from a FragmentGenerator is expected. | |
static constexpr type_t | ContainerFragmentType = FIRST_SYSTEM_TYPE + 7 |
This Fragment is a ContainerFragment and analysis code should unpack it. | |
static const version_t | InvalidVersion = 0xFFFF |
The version field is currently 16-bits. | |
static const version_t | CurrentVersion = 0x1 |
The CurrentVersion field should be incremented whenever the RawFragmentHeaderV1 changes. | |
static const sequence_id_t | InvalidSequenceID = 0xFFFFFFFFFFFF |
The sequence_id field is currently 48-bits. | |
static const fragment_id_t | InvalidFragmentID = 0xFFFF |
The fragment_id field is currently 16-bits. | |
static const timestamp_t | InvalidTimestamp = 0xFFFFFFFFFFFFFFFF |
The timestamp field is currently 64-bits. |
The RawFragmentHeaderV1 class contains the basic fields used by _artdaq_ for routing Fragment objects through the system.
The RawFragmentHeaderV1 class contains the basic fields used by _artdaq_ for routing Fragment objects through the system. It also contains static value definitions of values used in those fields. This is an old version of RawFragmentHeader, provided for compatibility
Definition at line 32 of file RawFragmentHeaderV1.hh.
static std::map<type_t, std::string> artdaq::detail::RawFragmentHeaderV1::MakeSystemTypeMap | ( | ) | [inline, static] |
Returns a map of the most-commonly used system types.
Definition at line 67 of file RawFragmentHeaderV1.hh.
static std::map<type_t, std::string> artdaq::detail::RawFragmentHeaderV1::MakeVerboseSystemTypeMap | ( | ) | [inline, static] |
Returns a map of all system types.
Definition at line 79 of file RawFragmentHeaderV1.hh.
constexpr std::size_t artdaq::detail::RawFragmentHeaderV1::num_words | ( | ) | [inline, static] |
Returns the number of RawDataType words present in the header.
Definition at line 184 of file RawFragmentHeaderV1.hh.
void artdaq::detail::RawFragmentHeaderV1::setSystemType | ( | uint8_t | stype | ) | [inline] |
Sets the type field to the specified system type.
stype | The type code to set |
cet::exception | if stype is not in the allowed range for system types |
Definition at line 211 of file RawFragmentHeaderV1.hh.
void artdaq::detail::RawFragmentHeaderV1::setUserType | ( | uint8_t | utype | ) | [inline] |
Sets the type field to the specified user type.
utype | The type code to set |
cet::exception | if utype is not in the allowed range for user types |
Definition at line 198 of file RawFragmentHeaderV1.hh.
static std::string artdaq::detail::RawFragmentHeaderV1::SystemTypeToString | ( | type_t | type | ) | [inline, static] |
Print a system type's string name.
type | Type to print |
Definition at line 97 of file RawFragmentHeaderV1.hh.
artdaq::detail::RawFragmentHeader artdaq::detail::RawFragmentHeaderV1::upgrade | ( | ) | const [inline] |
Upgrades the RawFragmentHeaderV1 to a RawFragmentHeader (Current version).
The constraints on RawFragmentHeader upgrades are that no field may shrink in size or be deleted. Therefore, there will always be an upgrade path from old RawFragmentHeaders to new ones. By convention, all fields are initialized to the Invalid defines, and then the old data (guarenteed to be smaller) is cast to the new header. In the case of added fields, they will remain marked Invalid.
Definition at line 223 of file RawFragmentHeaderV1.hh.