Project
Loading...
Searching...
No Matches
o2::ctp::CTF Struct Reference

wrapper for the Entropy-encoded trigger inputs and classes of the TF More...

#include <CTF.h>

Inherits o2::ctf::EncodedBlocks< CTFHeader, 4, uint32_t >.

Public Types

enum  Slots { BLC_bcIncTrig , BLC_orbitIncTrig , BLC_bytesInput , BLC_bytesClass }
 
- Public Types inherited from o2::ctf::EncodedBlocks< CTFHeader, 4, uint32_t >
typedef EncodedBlocks< CTFHeader, N, uint32_t > base
 
using dictionaryType = std::variant< rans::RenormedSparseHistogram< source_T >, rans::RenormedDenseHistogram< source_T > >
 

Public Member Functions

 ClassDefNV (CTF, 2)
 
- Public Member Functions inherited from o2::ctf::EncodedBlocks< CTFHeader, 4, uint32_t >
void setHeader (const CTFHeader &h)
 
const CTFHeadergetHeader () const
 
CTFHeadergetHeader ()
 
std::shared_ptr< CTFHeadercloneHeader () const
 
const auto & getRegistry () const
 
const auto & getMetadata () const
 
auto & getMetadata (int i) const
 
auto & getBlock (int i) const
 
dictionaryType< source_TgetDictionary (int i, ANSHeader ansVersion=ANSVersionUnspecified) const
 
void setANSHeader (const ANSHeader &h)
 
const ANSHeadergetANSHeader () const
 
ANSHeadergetANSHeader ()
 
bool empty () const
 check if empty and valid
 
bool flat () const
 check if flat and valid
 
void clear ()
 clear itself
 
size_t compactify ()
 Compactify by eliminating empty space.
 
size_t size () const
 total allocated size in bytes
 
size_t getFreeSize () const
 size remaining for additional data
 
void copyToFlat (V &vec)
 copy itself to flat buffer created on the fly from the vector
 
void copyToFlat (void *base)
 copy itself to flat buffer created on the fly at the provided pointer. The destination block should be at least of size estimateSize()
 
size_t appendToTree (TTree &tree, const std::string &name) const
 attach to tree
 
void readFromTree (TTree &tree, const std::string &name, int ev=0)
 read from tree to non-flat object
 
o2::ctf::CTFIOSize encode (const VE &src, int slot, uint8_t symbolTablePrecision, Metadata::OptStore opt, buffer_T *buffer=nullptr, const std::any &encoderExt={}, float memfc=1.f)
 encode vector src to bloc at provided slot
 
o2::ctf::CTFIOSize encode (const input_IT srcBegin, const input_IT srcEnd, int slot, uint8_t symbolTablePrecision, Metadata::OptStore opt, buffer_T *buffer=nullptr, const std::any &encoderExt={}, float memfc=1.f)
 encode vector src to bloc at provided slot
 
o2::ctf::CTFIOSize decode (container_T &dest, int slot, const std::any &decoderExt={}) const
 decode block at provided slot to destination vector (will be resized as needed)
 
o2::ctf::CTFIOSize decode (D_IT dest, int slot, const std::any &decoderExt={}) const
 decode block at provided slot to destination pointer, the needed space assumed to be available
 
CTFIOSize decode (D_IT dest, int slot, const std::any &decoderExt) const
 
void print (const std::string &prefix="", int verbosity=1) const
 print itself
 
void dump (const std::string &prefix="", int ncol=20) const
 
CTFIOSize encodeRANSV1External (const input_IT srcBegin, const input_IT srcEnd, int slot, const std::any &encoderExt, buffer_T *buffer, double_t sizeEstimateSafetyFactor)
 
CTFIOSize encodeRANSV1Inplace (const input_IT srcBegin, const input_IT srcEnd, int slot, Metadata::OptStore opt, buffer_T *buffer, double_t sizeEstimateSafetyFactor)
 

Static Public Attributes

static constexpr size_t N = getNBlocks()
 

Additional Inherited Members

- Static Public Member Functions inherited from o2::ctf::EncodedBlocks< CTFHeader, 4, uint32_t >
static constexpr int getNBlocks ()
 
static size_t getMinAlignedSize ()
 
static auto get (void *head)
 cast arbitrary buffer head to container class. Head is supposed to respect the alignment
 
static auto get (const void *head)
 
static auto getImage (const void *newHead)
 get const image of the container wrapper, with pointers in the image relocated to new head
 
static auto create (void *head, size_t sz)
 create container from arbitrary buffer of predefined size (in bytes!!!). Head is supposed to respect the alignment
 
static auto create (VD &v)
 create container from vector. Head is supposed to respect the alignment
 
static size_t estimateBlockSize (int n)
 estimate free size needed to add new block
 
static auto expand (buffer_T &buffer, size_t newsizeBytes)
 expand the storage to new size in bytes
 
static void readFromTree (VD &vec, TTree &tree, const std::string &name, int ev=0)
 read from tree to destination buffer vector
 
static std::vector< charcreateDictionaryBlocks (const std::vector< rans::DenseHistogram< int32_t > > &vfreq, const std::vector< Metadata > &prbits)
 create a special EncodedBlocks containing only dictionaries made from provided vector of frequency tables
 
- Protected Member Functions inherited from o2::ctf::EncodedBlocks< CTFHeader, 4, uint32_t >
void init (size_t sz)
 setup internal structure and registry for given buffer size (in bytes!!!)
 
size_t estimateSize () const
 
size_t estimateSizeFromMetadata () const
 do the same using metadata info
 
void fillFlatCopy (EncodedBlocks &dest) const
 Create its own flat copy in the destination empty flat object.
 
auto expandStorage (size_t slot, size_t nElemets, T *buffer=nullptr) -> decltype(auto)
 
ANSHeader checkANSVersion (ANSHeader ansVersion) const
 
o2::ctf::CTFIOSize entropyCodeRANSCompat (const input_IT srcBegin, const input_IT srcEnd, int slot, uint8_t symbolTablePrecision, buffer_T *buffer=nullptr, const std::any &encoderExt={}, float memfc=1.f)
 
o2::ctf::CTFIOSize entropyCodeRANSV1 (const input_IT srcBegin, const input_IT srcEnd, int slot, Metadata::OptStore opt, buffer_T *buffer=nullptr, const std::any &encoderExt={}, float memfc=1.f)
 
o2::ctf::CTFIOSize encodeRANSV1External (const input_IT srcBegin, const input_IT srcEnd, int slot, const std::any &encoderExt, buffer_T *buffer=nullptr, double_t sizeEstimateSafetyFactor=1)
 
o2::ctf::CTFIOSize encodeRANSV1Inplace (const input_IT srcBegin, const input_IT srcEnd, int slot, Metadata::OptStore opt, buffer_T *buffer=nullptr, double_t sizeEstimateSafetyFactor=1)
 
o2::ctf::CTFIOSize pack (const input_IT srcBegin, const input_IT srcEnd, int slot, rans::Metrics< typename std::iterator_traits< input_IT >::value_type > metrics, buffer_T *buffer=nullptr)
 
o2::ctf::CTFIOSize pack (const input_IT srcBegin, const input_IT srcEnd, int slot, buffer_T *buffer=nullptr)
 
o2::ctf::CTFIOSize store (const input_IT srcBegin, const input_IT srcEnd, int slot, Metadata::OptStore opt, buffer_T *buffer=nullptr)
 
CTFIOSize decodeCompatImpl (dst_IT dest, int slot, const std::any &decoderExt) const
 
CTFIOSize decodeRansV1Impl (dst_IT dest, int slot, const std::any &decoderExt) const
 
CTFIOSize decodeUnpackImpl (dst_IT dest, int slot) const
 
CTFIOSize decodeCopyImpl (dst_IT dest, int slot) const
 
 ClassDefNV (EncodedBlocks, 3)
 
- Static Protected Member Functions inherited from o2::ctf::EncodedBlocks< CTFHeader, 4, uint32_t >
static void relocate (const char *oldHead, char *newHead, char *wrapper, size_t newsize=0)
 
static size_t fillTreeBranch (TTree &tree, const std::string &brname, D &dt, int compLevel, int splitLevel=99)
 add and fill single branch
 
static bool readTreeBranch (TTree &tree, const std::string &brname, D &dt, int ev=0)
 read single branch
 
- Protected Attributes inherited from o2::ctf::EncodedBlocks< CTFHeader, 4, uint32_t >
Registry mRegistry
 
ANSHeader mANSHeader
 
CTFHeader mHeader
 
std::array< Metadata, N > mMetadata
 
std::array< Block< uint32_t >, N > mBlocks
 
- Static Protected Attributes inherited from o2::ctf::EncodedBlocks< CTFHeader, 4, uint32_t >
static constexpr Metadata::OptStore FallbackStorageType
 this is in fact stored, but to overcome TBuffer limits we have to define the branches per block!!!
 

Detailed Description

wrapper for the Entropy-encoded trigger inputs and classes of the TF

Definition at line 45 of file CTF.h.

Member Enumeration Documentation

◆ Slots

Enumerator
BLC_bcIncTrig 
BLC_orbitIncTrig 
BLC_bytesInput 
BLC_bytesClass 

Definition at line 48 of file CTF.h.

Member Function Documentation

◆ ClassDefNV()

o2::ctp::CTF::ClassDefNV ( CTF  ,
 
)

Member Data Documentation

◆ N

constexpr size_t o2::ctp::CTF::N = getNBlocks()
staticconstexpr

Definition at line 47 of file CTF.h.


The documentation for this struct was generated from the following file: