BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
fles::StorableTimeslice Class Reference

The StorableTimeslice class contains the data of a single timeslice. More...

#include <StorableTimeslice.h>

Inheritance diagram for fles::StorableTimeslice:
Collaboration diagram for fles::StorableTimeslice:

Public Member Functions

 StorableTimeslice ()
 StorableTimeslice (const StorableTimeslice &ts)
 Copy constructor.
 StorableTimeslice (StorableTimeslice &&ts) noexcept
 Delete assignment operator (not implemented).
 StorableTimeslice (uint32_t num_core_microslices, uint64_t index=UINT64_MAX, uint64_t ts_pos=UINT64_MAX)
 Construct and initialize empty timeslice to fill using append_component.
uint32_t append_component (uint64_t num_microslices, uint64_t=0)
 Append a single component to fill using append_microslice.
uint64_t append_microslice (uint32_t component, uint64_t microslice, MicrosliceDescriptor descriptor, const uint8_t *content)
 Append a single microslice using given descriptor and content.
uint64_t append_microslice (uint32_t component, uint64_t microslice, StorableMicroslice &m)
 Append a single microslice object.
 StorableTimeslice ()
 StorableTimeslice (const StorableTimeslice &ts)
 Copy constructor.
 StorableTimeslice (StorableTimeslice &&ts) noexcept
 Delete assignment operator (not implemented).
 StorableTimeslice (uint32_t num_core_microslices, uint64_t index=UINT64_MAX, uint64_t ts_pos=UINT64_MAX)
 Construct and initialize empty timeslice to fill using append_component.
uint32_t append_component (uint64_t num_microslices, uint64_t=0)
 Append a single component to fill using append_microslice.
uint64_t append_microslice (uint32_t component, uint64_t microslice, MicrosliceDescriptor descriptor, const uint8_t *content)
 Append a single microslice using given descriptor and content.
uint64_t append_microslice (uint32_t component, uint64_t microslice, StorableMicroslice &m)
 Append a single microslice object.
Public Member Functions inherited from fles::Timeslice
virtual ~Timeslice ()=default
uint64_t index () const
 Retrieve the timeslice index.
uint64_t num_core_microslices () const
 Retrieve the number of core microslices.
uint64_t num_microslices (uint64_t component) const
 Retrieve the total number of microslices.
uint64_t num_components () const
 Retrieve the number of components (contributing input channels).
const uint8_t * content (uint64_t component, uint64_t microslice) const
 Retrieve a pointer to the data content of a given microslice.
const MicrosliceDescriptor & descriptor (uint64_t component, uint64_t microslice) const
 Retrieve the descriptor of a given microslice.
const MicrosliceView get_microslice (uint64_t component, uint64_t microslice_index) const
 Retrieve the descriptor and pointer to the data of a given microslice.
virtual ~Timeslice ()=default
uint64_t index () const
 Retrieve the timeslice index.
uint64_t num_core_microslices () const
 Retrieve the number of core microslices.
uint64_t num_microslices (uint64_t component) const
 Retrieve the total number of microslices.
uint64_t num_components () const
 Retrieve the number of components (contributing input channels).
const uint8_t * content (uint64_t component, uint64_t microslice) const
 Retrieve a pointer to the data content of a given microslice.
const MicrosliceDescriptor & descriptor (uint64_t component, uint64_t microslice) const
 Retrieve the descriptor of a given microslice.
const MicrosliceView get_microslice (uint64_t component, uint64_t microslice_index) const
 Retrieve the descriptor and pointer to the data of a given microslice.

Private Member Functions

template<class Archive>
void serialize (Archive &ar, const unsigned int)
void init_pointers ()
template<class Archive>
void serialize (Archive &ar, const unsigned int)
void init_pointers ()

Private Attributes

std::vector< std::vector< uint8_t > > data_
std::vector< TimesliceComponentDescriptor > desc_

Friends

class boost::serialization::access
class InputArchive< Timeslice, StorableTimeslice, ArchiveType::TimesliceArchive >
class InputArchiveLoop< Timeslice, StorableTimeslice, ArchiveType::TimesliceArchive >
class TimesliceSubscriber

Additional Inherited Members

Protected Attributes inherited from fles::Timeslice
TimesliceDescriptor timeslice_descriptor_
 The timeslice descriptor.
std::vector< uint8_t * > data_ptr_
 A vector of pointers to the data content, one per timeslice component.
std::vector< TimesliceComponentDescriptor * > desc_ptr_
 A vector of pointers to the microslice descriptors, one per timeslice component.

Detailed Description

Definition at line 34 of file StorableTimeslice.h.

Constructor & Destructor Documentation

◆ StorableTimeslice() [1/8]

fles::StorableTimeslice::StorableTimeslice ( )

Definition at line 39 of file StorableTimeslice.cxx.

Referenced by StorableTimeslice(), StorableTimeslice(), and boost::serialization::access.

Here is the caller graph for this function:

◆ StorableTimeslice() [2/8]

fles::StorableTimeslice::StorableTimeslice ( const StorableTimeslice & ts)

Definition at line 8 of file StorableTimeslice.cxx.

References StorableTimeslice(), data_, desc_, and init_pointers().

Here is the call graph for this function:

◆ StorableTimeslice() [3/8]

fles::StorableTimeslice::StorableTimeslice ( StorableTimeslice && ts)
noexcept

Move constructor.

Definition at line 16 of file StorableTimeslice.cxx.

References StorableTimeslice(), data_, desc_, and init_pointers().

Here is the call graph for this function:

◆ StorableTimeslice() [4/8]

fles::StorableTimeslice::StorableTimeslice ( uint32_t num_core_microslices,
uint64_t index = UINT64_MAX,
uint64_t ts_pos = UINT64_MAX )
inlineexplicit

Definition at line 49 of file StorableTimeslice.h.

References fles::Timeslice::index(), fles::Timeslice::num_core_microslices(), and fles::Timeslice::timeslice_descriptor_.

Here is the call graph for this function:

◆ StorableTimeslice() [5/8]

fles::StorableTimeslice::StorableTimeslice ( )

◆ StorableTimeslice() [6/8]

fles::StorableTimeslice::StorableTimeslice ( const StorableTimeslice & ts)

References StorableTimeslice().

Here is the call graph for this function:

◆ StorableTimeslice() [7/8]

fles::StorableTimeslice::StorableTimeslice ( StorableTimeslice && ts)
noexcept

Move constructor.

References StorableTimeslice().

Here is the call graph for this function:

◆ StorableTimeslice() [8/8]

fles::StorableTimeslice::StorableTimeslice ( uint32_t num_core_microslices,
uint64_t index = UINT64_MAX,
uint64_t ts_pos = UINT64_MAX )
inlineexplicit

Definition at line 49 of file StorableTimeslice.h.

References fles::Timeslice::index(), fles::Timeslice::num_core_microslices(), and fles::Timeslice::timeslice_descriptor_.

Here is the call graph for this function:

Member Function Documentation

◆ append_component() [1/2]

uint32_t fles::StorableTimeslice::append_component ( uint64_t num_microslices,
uint64_t = 0 )
inline

Definition at line 58 of file StorableTimeslice.h.

References data_, desc_, init_pointers(), m, fles::Timeslice::num_microslices(), fles::TimesliceComponentDescriptor::num_microslices, fles::TimesliceComponentDescriptor::offset, fles::TimesliceComponentDescriptor::size, fles::Timeslice::timeslice_descriptor_, and fles::TimesliceComponentDescriptor::ts_num.

Here is the call graph for this function:

◆ append_component() [2/2]

uint32_t fles::StorableTimeslice::append_component ( uint64_t num_microslices,
uint64_t = 0 )
inline

Definition at line 58 of file StorableTimeslice.h.

References data_, desc_, init_pointers(), m, fles::Timeslice::num_microslices(), fles::TimesliceComponentDescriptor::num_microslices, fles::TimesliceComponentDescriptor::offset, fles::TimesliceComponentDescriptor::size, fles::Timeslice::timeslice_descriptor_, and fles::TimesliceComponentDescriptor::ts_num.

Here is the call graph for this function:

◆ append_microslice() [1/4]

uint64_t fles::StorableTimeslice::append_microslice ( uint32_t component,
uint64_t microslice,
MicrosliceDescriptor descriptor,
const uint8_t * content )
inline

Definition at line 82 of file StorableTimeslice.h.

References fles::Timeslice::content(), data_, desc_, fles::Timeslice::descriptor(), init_pointers(), fles::TimesliceComponentDescriptor::num_microslices, fles::MicrosliceDescriptor::offset, fles::TimesliceComponentDescriptor::size, and fles::Timeslice::timeslice_descriptor_.

Referenced by append_microslice().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ append_microslice() [2/4]

uint64_t fles::StorableTimeslice::append_microslice ( uint32_t component,
uint64_t microslice,
MicrosliceDescriptor descriptor,
const uint8_t * content )
inline

Definition at line 82 of file StorableTimeslice.h.

References fles::Timeslice::content(), data_, desc_, fles::Timeslice::descriptor(), init_pointers(), fles::TimesliceComponentDescriptor::num_microslices, fles::MicrosliceDescriptor::offset, fles::TimesliceComponentDescriptor::size, and fles::Timeslice::timeslice_descriptor_.

Here is the call graph for this function:

◆ append_microslice() [3/4]

uint64_t fles::StorableTimeslice::append_microslice ( uint32_t component,
uint64_t microslice,
StorableMicroslice & m )
inline

Definition at line 112 of file StorableTimeslice.h.

References append_microslice(), and m.

Here is the call graph for this function:

◆ append_microslice() [4/4]

uint64_t fles::StorableTimeslice::append_microslice ( uint32_t component,
uint64_t microslice,
StorableMicroslice & m )
inline

Definition at line 112 of file StorableTimeslice.h.

References append_microslice(), and m.

Here is the call graph for this function:

◆ init_pointers() [1/2]

void fles::StorableTimeslice::init_pointers ( )
inlineprivate

Definition at line 133 of file StorableTimeslice.h.

References data_, fles::Timeslice::data_ptr_, desc_, fles::Timeslice::desc_ptr_, and fles::Timeslice::num_components().

Referenced by StorableTimeslice(), StorableTimeslice(), append_component(), append_microslice(), and serialize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_pointers() [2/2]

void fles::StorableTimeslice::init_pointers ( )
inlineprivate

Definition at line 133 of file StorableTimeslice.h.

References data_, fles::Timeslice::data_ptr_, desc_, fles::Timeslice::desc_ptr_, and fles::Timeslice::num_components().

Here is the call graph for this function:

◆ serialize() [1/2]

template<class Archive>
void fles::StorableTimeslice::serialize ( Archive & ar,
const unsigned int  )
inlineprivate

Definition at line 124 of file StorableTimeslice.h.

References data_, desc_, init_pointers(), serialize(), and fles::Timeslice::timeslice_descriptor_.

Referenced by serialize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ serialize() [2/2]

template<class Archive>
void fles::StorableTimeslice::serialize ( Archive & ar,
const unsigned int  )
inlineprivate

Definition at line 124 of file StorableTimeslice.h.

References data_, desc_, init_pointers(), serialize(), and fles::Timeslice::timeslice_descriptor_.

Here is the call graph for this function:

◆ boost::serialization::access

boost::serialization::access
friend

Definition at line 118 of file StorableTimeslice.h.

References StorableTimeslice(), and boost::serialization::access.

Referenced by boost::serialization::access.

◆ InputArchive< Timeslice, StorableTimeslice, ArchiveType::TimesliceArchive >

Definition at line 118 of file StorableTimeslice.h.

◆ InputArchiveLoop< Timeslice, StorableTimeslice, ArchiveType::TimesliceArchive >

◆ TimesliceSubscriber

TimesliceSubscriber
friend

Definition at line 121 of file StorableTimeslice.h.

References TimesliceSubscriber.

Referenced by TimesliceSubscriber.

Member Data Documentation

◆ data_

std::vector< std::vector< uint8_t > > fles::StorableTimeslice::data_
private

◆ desc_

std::vector< TimesliceComponentDescriptor > fles::StorableTimeslice::desc_
private

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