Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
oncsSub_idmvtxv3 Class Reference

#include <online_distribution/blob/master/newbasic/oncsSub_idmvtxv3.h>

+ Inheritance diagram for oncsSub_idmvtxv3:
+ Collaboration diagram for oncsSub_idmvtxv3:

Classes

struct  dumpEntry
 

Public Member Functions

 oncsSub_idmvtxv3 (subevtdata_ptr)
 
 ~oncsSub_idmvtxv3 ()
 
int iValue (const int, const char *what) final
 
int iValue (const int, const int, const char *what) final
 
int iValue (const int, const int, const int, const char *what) final
 
long long int lValue (const int, const int, const char *what) final
 
void dump (OSTREAM &os=COUT) final
 
- Public Member Functions inherited from oncsSubevent_w4
 oncsSubevent_w4 (subevtdata_ptr)
 
virtual void gdump (const int how=EVT_HEXADECIMAL, OSTREAM &os=COUT) const
 
- Public Member Functions inherited from oncsSubevent
 oncsSubevent (subevtdata_ptr data)
 
virtual ~oncsSubevent ()
 
virtual int getLength () const
 
virtual int getIdentifier () const
 get the packet identifier
 
virtual int getHitFormat () const
 get the hit format; in case of unformatted get the encoding scheme.
 
virtual int getPadding () const
 get the number of padding units in the packet data.
 
virtual int getDataLength () const
 get what the name says...
 
virtual int getStructure () const
 get the structure of the packet data; unformatted, hitlist, etc.
 
virtual int getDebugLength () const
 get the length of the debug block
 
virtual int getErrorLength () const
 
virtual void identify (OSTREAM &=COUT) const
 
virtual int setIdentifier (const int newid)
 set a new packet identifier
 
int iValue (const int)
 iValue returns the value of a given channel as an int.
 
int iValue (const int, const char *)
 
int iValue (const int, const int)
 
int iValue (const int, const int, const char *)
 
int iValue (const int channel, const int iy, const int iz)
 
int iValue (const int channel, const int iy, const int iz, const char *what)
 
virtual float rValue (const int)
 
virtual float rValue (const int, const char *)
 
virtual float rValue (const int, const int)
 
virtual int getArraylength (const char *)
 
virtual int fillIntArray (int[], const int, int *, const char *what="")
 
virtual int fillFloatArray (float[], const int, int *, const char *what="")
 fillFloatArray fills an array of floats
 
virtual int * getIntArray (int *, const char *what="")
 
virtual float * getFloatArray (int *, const char *what="")
 getFloatArray creates and returns an array of floats
 
virtual int is_pointer_type () const
 find out what type (pointer- or data based) packet object we have
 
virtual int convert ()
 convert from pointer- to data based object, if it is already data-based, do nothing.
 
virtual int copyMe (int[], const int maxlength) const
 
int setInternalParameter (const int p1=0, const int p2=0, const char *what="")
 
- Public Member Functions inherited from Packet
virtual ~Packet ()
 the virtual destructor
 
virtual double dValue (const int channel)
 
virtual double dValue (const int channel, const char *what)
 
virtual double dValue (const int channel, const int iy)
 
virtual long long lValue (const int channel)
 
virtual long long lValue (const int channel, const char *what)
 
virtual long long lValue (const int channel, const int iy)
 
virtual void * pValue (const int)
 
virtual void * pValue (const int, const char *)
 
virtual void * pValue (const int, const int)
 
virtual void identify (std::ostream &os=std::cout) const =0
 see below for comments
 
virtual void fullIdentify (std::ostream &os=std::cout) const
 write an indepth identification message to the supplied OSTREAM.
 
virtual void dump (std::ostream &os=std::cout)=0
 
virtual void gdump (const int how=EVT_HEXADECIMAL, std::ostream &os=std::cout) const =0
 
virtual int getCheckSumStatus () const
 

Protected Member Functions

int decode ()
 
void loadInput (mvtx::PayLoadCont &buf)
 
void setupLinks (mvtx::PayLoadCont &)
 
- Protected Member Functions inherited from oncsSubevent_w4
virtual int * decode (int *)
 

Protected Attributes

bool m_is_decoded
 
std::set< uint16_t > feeid_set
 
uint8_t * payload
 
unsigned int payload_position
 

Static Protected Attributes

static size_t mEventId = 0
 
static std::unordered_map
< uint32_t, dumpEntry
mSubId2Buffers = {}
 
static std::vector
< mvtx::PayLoadCont
mBuffers = {}
 
static std::unordered_map
< uint16_t, dumpEntry
mFeeId2LinkID = {}
 
static std::vector< mvtx::GBTLinkmGBTLinks = {}
 

Detailed Description

Definition at line 19 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 19 of file oncsSub_idmvtxv3.h

Constructor & Destructor Documentation

oncsSub_idmvtxv3::oncsSub_idmvtxv3 ( subevtdata_ptr  data)
explicit

Definition at line 16 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 16 of file oncsSub_idmvtxv3.cc

References m_is_decoded, payload, and payload_position.

oncsSub_idmvtxv3::~oncsSub_idmvtxv3 ( )

Definition at line 424 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 424 of file oncsSub_idmvtxv3.cc

References feeid_set, and mGBTLinks.

Member Function Documentation

int oncsSub_idmvtxv3::decode ( )
protected

Definition at line 25 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 25 of file oncsSub_idmvtxv3.cc

References feeid_set, oncsSubevent::getIdentifier(), loadInput(), m_is_decoded, mBuffers, mEventId, mGBTLinks, mSubId2Buffers, payload_position, and setupLinks().

Referenced by dump(), iValue(), and lValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void oncsSub_idmvtxv3::dump ( OSTREAM os = COUT)
finalvirtual

Reimplemented from oncsSubevent_w4.

Definition at line 371 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 371 of file oncsSub_idmvtxv3.cc

References decode(), i, oncsSubevent::identify(), iValue(), lValue(), and mEventId.

+ Here is the call graph for this function:

int oncsSub_idmvtxv3::iValue ( const int  ,
const char *   
)
finalvirtual

with the "what" parameter you can decide which aspect of the data you want to see (for devices which have more than one)

Implements Packet.

Definition at line 199 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 199 of file oncsSub_idmvtxv3.cc

References assert, decode(), feeid_set, i, log_error, mFeeId2LinkID, mGBTLinks, n, next, and rawData.

Referenced by dump().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int oncsSub_idmvtxv3::iValue ( const int  ,
const int  ,
const char *   
)
finalvirtual

we have a few recent devices which have one more dimension (such as card, time sample, channel)

Implements Packet.

Definition at line 259 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 259 of file oncsSub_idmvtxv3.cc

References assert, decode(), ambiguity_solver_full_chain::idx, index, log_error, mFeeId2LinkID, and mGBTLinks.

+ Here is the call graph for this function:

int oncsSub_idmvtxv3::iValue ( const int  ,
const int  ,
const int  ,
const char *   
)
finalvirtual

this supports devices organized as three-dimensional data (card vs channel vs time slice, with a "what" selection )

Implements Packet.

Definition at line 292 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 292 of file oncsSub_idmvtxv3.cc

References assert, decode(), log_error, mFeeId2LinkID, and mGBTLinks.

+ Here is the call graph for this function:

void oncsSub_idmvtxv3::loadInput ( mvtx::PayLoadCont buf)
protected

Definition at line 73 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 73 of file oncsSub_idmvtxv3.cc

References mvtx::PayLoadCont::add(), COUT, subevt_data::data, dlength, ENDL, mvtx_utils::FLXWordLength, oncsSubevent::getDataLength(), oncsSubevent::getPadding(), mvtx::PayLoadCont::getPtr(), payload, payload_position, and oncsSubevent::SubeventHdr.

Referenced by decode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

long long int oncsSub_idmvtxv3::lValue ( const int  i_feeid,
const int  idx,
const char *  what 
)
finalvirtual

Reimplemented from Packet.

Definition at line 338 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 338 of file oncsSub_idmvtxv3.cc

References assert, decode(), ambiguity_solver_full_chain::idx, index, log_error, mFeeId2LinkID, and mGBTLinks.

Referenced by dump().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void oncsSub_idmvtxv3::setupLinks ( mvtx::PayLoadCont buf)
protected

Definition at line 100 of file oncsSub_idmvtxv3.cc.

View newest version in sPHENIX GitHub at line 100 of file oncsSub_idmvtxv3.cc

References mvtx_utils::RdhExt_t::decode(), dlength, mvtx_utils::RdhExt_t::feeId, feeid_set, mvtx_utils::RdhExt_t::flxId, mvtx_utils::FLXWordLength, mvtx::PayLoadCont::getUnusedSize(), log_error, mFeeId2LinkID, mGBTLinks, mvtx_utils::RdhExt_t::packetCounter, mvtx_utils::RdhExt_t::pageSize, payload, payload_position, and mvtx_utils::RdhExt_t::stopBit.

Referenced by decode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::set<uint16_t> oncsSub_idmvtxv3::feeid_set
protected

Definition at line 56 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 56 of file oncsSub_idmvtxv3.h

Referenced by decode(), iValue(), setupLinks(), and ~oncsSub_idmvtxv3().

bool oncsSub_idmvtxv3::m_is_decoded
protected

Definition at line 39 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 39 of file oncsSub_idmvtxv3.h

Referenced by decode(), and oncsSub_idmvtxv3().

std::vector< mvtx::PayLoadCont > oncsSub_idmvtxv3::mBuffers = {}
staticprotected

Definition at line 52 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 52 of file oncsSub_idmvtxv3.h

Referenced by decode().

size_t oncsSub_idmvtxv3::mEventId = 0
staticprotected

Definition at line 50 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 50 of file oncsSub_idmvtxv3.h

Referenced by decode(), and dump().

std::unordered_map< uint16_t, oncsSub_idmvtxv3::dumpEntry > oncsSub_idmvtxv3::mFeeId2LinkID = {}
staticprotected

Definition at line 53 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 53 of file oncsSub_idmvtxv3.h

Referenced by iValue(), lValue(), and setupLinks().

std::vector< mvtx::GBTLink > oncsSub_idmvtxv3::mGBTLinks = {}
staticprotected

Definition at line 54 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 54 of file oncsSub_idmvtxv3.h

Referenced by decode(), iValue(), lValue(), setupLinks(), and ~oncsSub_idmvtxv3().

std::unordered_map< uint32_t, oncsSub_idmvtxv3::dumpEntry > oncsSub_idmvtxv3::mSubId2Buffers = {}
staticprotected

Definition at line 51 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 51 of file oncsSub_idmvtxv3.h

Referenced by decode().

uint8_t* oncsSub_idmvtxv3::payload
protected

Definition at line 57 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 57 of file oncsSub_idmvtxv3.h

Referenced by loadInput(), oncsSub_idmvtxv3(), and setupLinks().

unsigned int oncsSub_idmvtxv3::payload_position
protected

Definition at line 58 of file oncsSub_idmvtxv3.h.

View newest version in sPHENIX GitHub at line 58 of file oncsSub_idmvtxv3.h

Referenced by decode(), loadInput(), oncsSub_idmvtxv3(), and setupLinks().


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