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

wrapper for the Entropy-encoded clusters of the TF More...

#include <CTF.h>

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

Public Types

enum  Slots {
  BLCqTotA , BLCqMaxA , BLCflagsA , BLCrowDiffA ,
  BLCsliceLegDiffA , BLCpadResA , BLCtimeResA , BLCsigmaPadA ,
  BLCsigmaTimeA , BLCqPtA , BLCrowA , BLCsliceA ,
  BLCtimeA , BLCpadA , BLCqTotU , BLCqMaxU ,
  BLCflagsU , BLCpadDiffU , BLCtimeDiffU , BLCsigmaPadU ,
  BLCsigmaTimeU , BLCnTrackClusters , BLCnSliceRowClusters , BLCTrigOrbitInc ,
  BLCTrigBCInc , BLCTrigType
}
 
using container_t = o2::ctf::EncodedBlocks< CTFHeader, 26, uint32_t >
 
- Public Types inherited from o2::ctf::EncodedBlocks< CTFHeader, 26, 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, 4)
 
- Public Member Functions inherited from o2::ctf::EncodedBlocks< CTFHeader, 26, 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()
 
static constexpr int NBitsQTot = 16
 
static constexpr int NBitsQMax = 10
 
static constexpr int NBitsSigmaPad = 8
 
static constexpr int NBitsSigmaTime = 8
 
static constexpr int NBitsRowDiff = 8
 
static constexpr int NBitsSliceLegDiff = 7
 

Additional Inherited Members

- Static Public Member Functions inherited from o2::ctf::EncodedBlocks< CTFHeader, 26, 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, 26, 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, 26, 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, 26, 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, 26, 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 clusters of the TF

Definition at line 36 of file CTF.h.

Member Typedef Documentation

◆ container_t

Definition at line 38 of file CTF.h.

Member Enumeration Documentation

◆ Slots

Enumerator
BLCqTotA 
BLCqMaxA 
BLCflagsA 
BLCrowDiffA 
BLCsliceLegDiffA 
BLCpadResA 
BLCtimeResA 
BLCsigmaPadA 
BLCsigmaTimeA 
BLCqPtA 
BLCrowA 
BLCsliceA 
BLCtimeA 
BLCpadA 
BLCqTotU 
BLCqMaxU 
BLCflagsU 
BLCpadDiffU 
BLCtimeDiffU 
BLCsigmaPadU 
BLCsigmaTimeU 
BLCnTrackClusters 
BLCnSliceRowClusters 
BLCTrigOrbitInc 
BLCTrigBCInc 
BLCTrigType 

Definition at line 48 of file CTF.h.

Member Function Documentation

◆ ClassDefNV()

o2::tpc::CTF::ClassDefNV ( CTF  ,
 
)

Member Data Documentation

◆ N

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

Definition at line 40 of file CTF.h.

◆ NBitsQMax

constexpr int o2::tpc::CTF::NBitsQMax = 10
staticconstexpr

Definition at line 42 of file CTF.h.

◆ NBitsQTot

constexpr int o2::tpc::CTF::NBitsQTot = 16
staticconstexpr

Definition at line 41 of file CTF.h.

◆ NBitsRowDiff

constexpr int o2::tpc::CTF::NBitsRowDiff = 8
staticconstexpr

Definition at line 45 of file CTF.h.

◆ NBitsSigmaPad

constexpr int o2::tpc::CTF::NBitsSigmaPad = 8
staticconstexpr

Definition at line 43 of file CTF.h.

◆ NBitsSigmaTime

constexpr int o2::tpc::CTF::NBitsSigmaTime = 8
staticconstexpr

Definition at line 44 of file CTF.h.

◆ NBitsSliceLegDiff

constexpr int o2::tpc::CTF::NBitsSliceLegDiff = 7
staticconstexpr

Definition at line 46 of file CTF.h.


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