Project
Loading...
Searching...
No Matches
o2::tpc::CTFCoder Class Reference

#include <CTFCoder.h>

Inherits o2::ctf::CTFCoderBase.

Public Member Functions

 CTFCoder (o2::ctf::CTFCoderBase::OpType op)
 
 ~CTFCoder () final=default
 
template<typename VEC >
o2::ctf::CTFIOSize encode (VEC &buff, const CompressedClusters &ccl, const CompressedClusters &cclFiltered, const detail::TriggerInfo &trigComp, std::vector< bool > *rejectHits=nullptr, std::vector< bool > *rejectTracks=nullptr, std::vector< bool > *rejectTrackHits=nullptr, std::vector< bool > *rejectTrackHitsReduced=nullptr)
 entropy-encode compressed clusters to flat buffer
 
template<typename VEC , typename TRIGVEC >
o2::ctf::CTFIOSize decode (const CTF::base &ec, VEC &buff, TRIGVEC &buffTrig)
 decode entropy-encoded bloks to TPC CompressedClusters into the externally provided vector (e.g. PMR vector from DPL)
 
void createCoders (const std::vector< char > &bufVec, o2::ctf::CTFCoderBase::OpType op) final
 
size_t estimateCompressedSize (const CompressedClusters &ccl)
 
bool getCombineColumns () const
 
void setCombineColumns (bool v)
 
- Public Member Functions inherited from o2::ctf::CTFCoderBase
 CTFCoderBase ()=delete
 
 CTFCoderBase (int n, DetID det, float memFactor=1.f)
 
 CTFCoderBase (OpType op, int n, DetID det, float memFactor=1.f)
 
virtual ~CTFCoderBase ()=default
 
virtual void assignDictVersion (CTFDictHeader &h) const
 
template<typename SPAN >
void setSelectedIRFrames (const SPAN &sp)
 
template<typename CTF >
std::vector< charreadDictionaryFromFile (const std::string &dictPath, bool mayFail=false)
 
template<typename CTF >
void createCodersFromFile (const std::string &dictPath, o2::ctf::CTFCoderBase::OpType op, bool mayFail=false)
 
template<typename S >
void createCoder (OpType op, const o2::rans::RenormedDenseHistogram< S > &renormedHistogram, int slot)
 
void clear ()
 
void setMemMarginFactor (float v)
 
float getMemMarginFactor () const
 
void setVerbosity (int v)
 
int getVerbosity () const
 
const CTFDictHeadergetExtDictHeader () const
 
template<typename CTF >
void init (o2::framework::InitContext &ic)
 
template<typename CTF , typename BUF >
size_t finaliseCTFOutput (BUF &buffer)
 
template<typename CTF >
bool finaliseCCDB (o2::framework::ConcreteDataMatcher &matcher, void *obj)
 
void updateTimeDependentParams (o2::framework::ProcessingContext &pc, bool askTree=false)
 
o2::utils::IRFrameSelectorgetIRFramesSelector ()
 
size_t getIRFrameSelMarginBwd () const
 
size_t getIRFrameSelMarginFwd () const
 
long getIRFrameSelShift () const
 
const ctf::ANSHeadergetANSVersion () const noexcept
 
ctf::ANSHeadergetANSVersion ()
 
void setANSVersion (const ctf::ANSHeader &ansVersion) noexcept
 
void setBCShift (int64_t n)
 
void setFirstTFOrbit (uint32_t n)
 
auto getBCShift () const
 
auto getFirstTFOrbit () const
 
void setSupportBCShifts (bool v=true)
 
bool getSupportBCShifts () const
 
void setDictBinding (const std::string &s)
 
const std::string & getDictBinding () const
 
void setTrigOffsBinding (const std::string &s)
 
const std::string & getTrigOffsBinding () const
 
const DetID getDet () const
 
template<typename IT >
size_t estimateBufferSize (size_t slot, IT samplesBegin, IT samplesEnd)
 

Static Public Member Functions

static size_t estimateSize (CompressedClusters &c)
 estimate size needed to store in the flat buffer the payload of the CompressedClusters (here only the counters are used)
 
static void setCompClusAddresses (CompressedClusters &c, void *&buff)
 set addresses of the CompressedClusters fields to point on already reserved memory region
 
template<size_t ALG = Alignment, typename T >
static size_t alignSize (T *&var, size_t n=1)
 
template<size_t ALG = Alignment, typename T >
static void setAlignedPtr (void *&ptr, T *&var, size_t n=1)
 
- Static Public Member Functions inherited from o2::ctf::CTFCoderBase
template<typename T >
static bool readFromTree (TTree &tree, const std::string brname, T &dest, int ev=0)
 

Static Public Attributes

static size_t constexpr Alignment = 16
 

Additional Inherited Members

- Public Types inherited from o2::ctf::CTFCoderBase
enum class  OpType : int { Encoder , Decoder }
 
- Protected Member Functions inherited from o2::ctf::CTFCoderBase
void reportIRFrames ()
 
std::string getPrefix () const
 
void checkDictVersion (const CTFDictHeader &h) const
 
bool isTreeDictionary (const void *buff) const
 
bool canApplyBCShift (const o2::InteractionRecord &ir, long shift) const
 
bool canApplyBCShift (const o2::InteractionRecord &ir) const
 
template<typename source_IT >
size_t estimateBufferSize (size_t slot, source_IT samplesBegin, source_IT samplesEnd)
 
template<typename source_T >
size_t estimateBufferSize (size_t slot, size_t nSamples)
 
template<typename source_T >
size_t estimateBufferSize (size_t slot, const std::vector< source_T > &samples)
 
template<typename CTF >
std::vector< charloadDictionaryFromTree (TTree *tree)
 
- Protected Attributes inherited from o2::ctf::CTFCoderBase
std::vector< std::any > mCoders
 
DetID mDet
 
std::string mDictBinding {"ctfdict"}
 
std::string mTrigOffsBinding {"trigoffset"}
 
CTFDictHeader mExtHeader
 
o2::utils::IRFrameSelector mIRFrameSelector
 
float mMemMarginFactor = 1.0f
 
bool mLoadDictFromCCDB {true}
 
bool mSupportBCShifts {false}
 
OpType mOpType
 
ctf::ANSHeader mANSVersion {ctf::ANSVersionCompat}
 
int64_t mBCShift = 0
 
uint32_t mFirstTFOrbit = 0
 
size_t mIRFrameSelMarginBwd = 0
 
size_t mIRFrameSelMarginFwd = 0
 
long mIRFrameSelShift = 0
 
int mVerbosity = 0
 

Detailed Description

Definition at line 122 of file CTFCoder.h.

Constructor & Destructor Documentation

◆ CTFCoder()

o2::tpc::CTFCoder::CTFCoder ( o2::ctf::CTFCoderBase::OpType  op)
inline

Definition at line 125 of file CTFCoder.h.

◆ ~CTFCoder()

o2::tpc::CTFCoder::~CTFCoder ( )
finaldefault

Member Function Documentation

◆ alignSize()

template<size_t ALG = Alignment, typename T >
static size_t o2::tpc::CTFCoder::alignSize ( T *&  var,
size_t  n = 1 
)
inlinestatic

Definition at line 144 of file CTFCoder.h.

◆ createCoders()

void CTFCoder::createCoders ( const std::vector< char > &  bufVec,
o2::ctf::CTFCoderBase::OpType  op 
)
finalvirtual

Implements o2::ctf::CTFCoderBase.

Definition at line 93 of file CTFCoder.cxx.

◆ decode()

template<typename VEC , typename TRIGVEC >
o2::ctf::CTFIOSize o2::tpc::CTFCoder::decode ( const CTF::base ec,
VEC &  buff,
TRIGVEC &  buffTrig 
)

decode entropy-encoded bloks to TPC CompressedClusters into the externally provided vector (e.g. PMR vector from DPL)

Definition at line 325 of file CTFCoder.h.

◆ encode()

template<typename VEC >
o2::ctf::CTFIOSize o2::tpc::CTFCoder::encode ( VEC &  buff,
const CompressedClusters ccl,
const CompressedClusters cclFiltered,
const detail::TriggerInfo trigComp,
std::vector< bool > *  rejectHits = nullptr,
std::vector< bool > *  rejectTracks = nullptr,
std::vector< bool > *  rejectTrackHits = nullptr,
std::vector< bool > *  rejectTrackHitsReduced = nullptr 
)

entropy-encode compressed clusters to flat buffer

entropy-encode clusters to buffer with CTF

Definition at line 184 of file CTFCoder.h.

◆ estimateCompressedSize()

size_t CTFCoder::estimateCompressedSize ( const CompressedClusters ccl)

Definition at line 162 of file CTFCoder.cxx.

◆ estimateSize()

size_t CTFCoder::estimateSize ( CompressedClusters c)
static

estimate size needed to store in the flat buffer the payload of the CompressedClusters (here only the counters are used)

Definition at line 22 of file CTFCoder.cxx.

◆ getCombineColumns()

bool o2::tpc::CTFCoder::getCombineColumns ( ) const
inline

Definition at line 161 of file CTFCoder.h.

◆ setAlignedPtr()

template<size_t ALG = Alignment, typename T >
static void o2::tpc::CTFCoder::setAlignedPtr ( void *&  ptr,
T *&  var,
size_t  n = 1 
)
inlinestatic

Definition at line 152 of file CTFCoder.h.

◆ setCombineColumns()

void o2::tpc::CTFCoder::setCombineColumns ( bool  v)
inline

Definition at line 162 of file CTFCoder.h.

◆ setCompClusAddresses()

void CTFCoder::setCompClusAddresses ( CompressedClusters c,
void *&  buff 
)
static

set addresses of the CompressedClusters fields to point on already reserved memory region

Definition at line 58 of file CTFCoder.cxx.

Member Data Documentation

◆ Alignment

size_t constexpr o2::tpc::CTFCoder::Alignment = 16
staticconstexpr

Definition at line 139 of file CTFCoder.h.


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