artdaq::ContainerFragment Class Reference

The artdaq::ContainerFragment class represents a Fragment which contains other Fragments. More...

#include <artdaq-core/Data/ContainerFragment.hh>

Inheritance diagram for artdaq::ContainerFragment:
artdaq::ContainerFragmentLoader

List of all members.

Classes

struct  Metadata
 Contains the information necessary for retrieving Fragment objects from the ContainerFragment. More...
struct  MetadataV0
 Contains the information necessary for retrieving Fragment objects from the ContainerFragment. More...

Public Member Functions

 static_assert (sizeof(MetadataV0)==MetadataV0::size_words *sizeof(MetadataV0::data_t),"ContainerFragment::MetadataV0 size changed")
 static_assert (sizeof(Metadata)==Metadata::size_words *sizeof(Metadata::data_t),"ContainerFragment::Metadata size changed")
Metadata const * UpgradeMetadata (MetadataV0 const *in) const
 ContainerFragment (Fragment const &f)
Metadata const * metadata () const
 const getter function for the Metadata
Metadata::count_t block_count () const
 Gets the number of fragments stored in the ContainerFragment.
Fragment::type_t fragment_type () const
 Get the Fragment::type_t of stored Fragment objects.
bool missing_data () const
 Gets the flag if the ContainerFragment knows that it is missing data.
void const * dataBegin () const
 Gets the start of the data.
void const * dataEnd () const
 Gets the last Fragment in the ContainerFragment.
FragmentPtr at (size_t index) const
 Gets a specific Fragment from the ContainerFragment.
size_t fragSize (size_t index) const
 Gets the size of the Fragment at the specified location in the ContainerFragment, in bytes.
FragmentPtr operator[] (size_t index) const
 Alias to ContainerFragment::at().
size_t fragmentIndex (size_t index) const
 Get the offset of a Fragment within the ContainerFragment.
size_t lastFragmentIndex () const
 Returns the offset of the last Fragment in the ContainerFragment.

Static Public Attributes

static constexpr uint8_t CURRENT_VERSION = 1
static constexpr size_t CONTAINER_MAGIC = 0x00BADDEED5B1BEE5

Protected Member Functions

const size_t * create_index_ () const
void reset_index_ptr_ () const
const size_t * get_index_ () const

Static Protected Member Functions

static constexpr size_t words_per_frag_word_ ()
 Gets the ratio between the fundamental data storage type and the representation within the Fragment.

Detailed Description

The artdaq::ContainerFragment class represents a Fragment which contains other Fragments.

Definition at line 20 of file ContainerFragment.hh.


Constructor & Destructor Documentation

artdaq::ContainerFragment::ContainerFragment ( Fragment const &  f  )  [inline, explicit]
Parameters:
f The Fragment object to use for data storage

The constructor simply sets its const private member "artdaq_Fragment_" to refer to the artdaq::Fragment object

Definition at line 98 of file ContainerFragment.hh.


Member Function Documentation

FragmentPtr artdaq::ContainerFragment::at ( size_t  index  )  const [inline]

Gets a specific Fragment from the ContainerFragment.

Parameters:
index The Fragment index to return
Returns:
Pointer to the specified Fragment in the ContainerFragment
Exceptions:
cet::exception if the index is out-of-range

Definition at line 168 of file ContainerFragment.hh.

Metadata::count_t artdaq::ContainerFragment::block_count (  )  const [inline]

Gets the number of fragments stored in the ContainerFragment.

Returns:
The number of Fragment objects stored in the ContainerFragment

Definition at line 132 of file ContainerFragment.hh.

void const* artdaq::ContainerFragment::dataBegin (  )  const [inline]

Gets the start of the data.

Returns:
Pointer to the first Fragment in the ContainerFragment

Definition at line 148 of file ContainerFragment.hh.

void const* artdaq::ContainerFragment::dataEnd (  )  const [inline]

Gets the last Fragment in the ContainerFragment.

Returns:
Pointer to the last Fragment in the ContainerFragment

Definition at line 157 of file ContainerFragment.hh.

Fragment::type_t artdaq::ContainerFragment::fragment_type (  )  const [inline]

Get the Fragment::type_t of stored Fragment objects.

Returns:
The Fragment::type_t of stored Fragment objects

Definition at line 137 of file ContainerFragment.hh.

size_t artdaq::ContainerFragment::fragmentIndex ( size_t  index  )  const [inline]

Get the offset of a Fragment within the ContainerFragment.

Parameters:
index The Fragment index
Returns:
The offset of the requested Fragment within the ContainerFragment
Exceptions:
cet::exception if the index is out-of-range

Definition at line 213 of file ContainerFragment.hh.

size_t artdaq::ContainerFragment::fragSize ( size_t  index  )  const [inline]

Gets the size of the Fragment at the specified location in the ContainerFragment, in bytes.

Parameters:
index The Fragment index
Returns:
The size of the Fragment at the specified location in the ContainerFragment, in bytes
Exceptions:
cet::exception if the index is out-of-range

Definition at line 185 of file ContainerFragment.hh.

size_t artdaq::ContainerFragment::lastFragmentIndex (  )  const [inline]

Returns the offset of the last Fragment in the ContainerFragment.

Returns:
The offset of the last Fragment in the ContainerFragment

Definition at line 230 of file ContainerFragment.hh.

Metadata const* artdaq::ContainerFragment::metadata (  )  const [inline]

const getter function for the Metadata

Returns:
const pointer to the Metadata

Definition at line 116 of file ContainerFragment.hh.

bool artdaq::ContainerFragment::missing_data (  )  const [inline]

Gets the flag if the ContainerFragment knows that it is missing data.

Returns:
The flag if the ContainerFragment knows that it is missing data

Definition at line 142 of file ContainerFragment.hh.

FragmentPtr artdaq::ContainerFragment::operator[] ( size_t  index  )  const [inline]

Alias to ContainerFragment::at().

Parameters:
index The Fragment index to return
Returns:
Pointer to the specified Fragment in the ContainerFragment
Exceptions:
cet::exception if the index is out-of-range

Definition at line 202 of file ContainerFragment.hh.

static constexpr size_t artdaq::ContainerFragment::words_per_frag_word_ (  )  [inline, static, protected]

Gets the ratio between the fundamental data storage type and the representation within the Fragment.

Returns:
The ratio between the fundamental data storage type and the representation within the Fragment

Definition at line 241 of file ContainerFragment.hh.


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

Generated on 25 Sep 2018 for artdaq_core by  doxygen 1.6.1