EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
oncsSub_idmvtxv2 Class Reference

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

+ Inheritance diagram for oncsSub_idmvtxv2:
+ Collaboration diagram for oncsSub_idmvtxv2:

Public Member Functions

 oncsSub_idmvtxv2 (subevtdata_ptr)
 
 ~oncsSub_idmvtxv2 ()
 
int iValue (const int ruid, const char *what)
 
int iValue (const int ruid)
 iValue returns the value of a given channel as an int.
 
int iValue (const int ruid, const int ruchn, const char *what)
 
int iValue (const int ruid, const int ruchn)
 
int iValue (const int ruid, const int ruchn, const int i)
 
void dump (OSTREAM &os=COUT)
 
void gdump (const int how=EVT_HEXADECIMAL, OSTREAM &os=COUT) const
 
int encode_hit (unsigned short row, unsigned short col) const
 
unsigned short decode_row (int hit) const
 
unsigned short decode_col (int hit) const
 
bool mask_contains_ruchn (int mask, int ruchn)
 
- Public Member Functions inherited from oncsSubevent_w4
 oncsSubevent_w4 (subevtdata_ptr)
 
- 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
 
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.
 
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 chan)
 
virtual void * pValue (const int chan, const char *what)
 
virtual void * pValue (const int chan, const int iy)
 
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
 
virtual int copyMe (int[], const int maxlength) const
 

Protected Member Functions

int * decode ()
 
bool checkBC (const int ruid)
 
void print_stuff (OSTREAM &out, unsigned int data, int width, int shift, bool blank=false) const
 
- Protected Member Functions inherited from oncsSubevent_w4
virtual int * decode (int *)
 

Protected Attributes

int _is_decoded
 
int _highest_ruid
 
int _decoder_error
 
std::vector< int > _hit_vectors [IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
 
int _unexpected_felix_counters
 
int _bad_ruids
 
int _bad_ruchns [IDMVTXV2_MAXRUID+1]
 
int _lanes_active [IDMVTXV2_MAXRUID+1]
 
int _lane_stops [IDMVTXV2_MAXRUID+1]
 
int _lane_timeouts [IDMVTXV2_MAXRUID+1]
 
int _inconsistent_bc [IDMVTXV2_MAXRUID+1]
 
int _chip_id [IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
 
int _bad_bytes [IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
 
int _excess_bytes [IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
 
int _bunchcounter [IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
 
bool _header_found [IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
 
bool _trailer_found [IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
 
int _readout_flags [IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
 

Detailed Description

Definition at line 8 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 8 of file oncsSub_idmvtxv2.h

Constructor & Destructor Documentation

oncsSub_idmvtxv2::~oncsSub_idmvtxv2 ( )

Definition at line 40 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 40 of file oncsSub_idmvtxv2.cc

Member Function Documentation

bool oncsSub_idmvtxv2::checkBC ( const int  ruid)
protected

Definition at line 684 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 684 of file oncsSub_idmvtxv2.cc

References _bunchcounter, _lanes_active, IDMVTXV2_MAXRUCHN, and mask_contains_ruchn().

Referenced by decode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int * oncsSub_idmvtxv2::decode ( )
protected

Definition at line 86 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 86 of file oncsSub_idmvtxv2.cc

References _bad_bytes, _bad_ruchns, _bad_ruids, _bunchcounter, _chip_id, _decoder_error, _excess_bytes, _header_found, _highest_ruid, _hit_vectors, _inconsistent_bc, _is_decoded, _lane_stops, _lane_timeouts, _lanes_active, _readout_flags, _trailer_found, _unexpected_felix_counters, checkBC(), CHIPEMPTYFRAME, CHIPHEADER, data32::counter, data32::d0, subevt_data::data, DATALONG0, DATALONG1, DATASHORT, encode_hit(), oncsSubevent::getDataLength(), oncsSubevent::getPadding(), IDMVTXV2_MAXRUCHN, IDMVTXV2_MAXRUID, IDMVTXV2_RUHEADER, IDMVTXV2_RUTRAILER, NCOL, NROW, pos(), data32::ruid, oncsSubevent::SubeventHdr, and x2.

Referenced by dump(), and iValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

unsigned short oncsSub_idmvtxv2::decode_col ( int  hit) const

Definition at line 74 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 74 of file oncsSub_idmvtxv2.cc

Referenced by dump().

+ Here is the caller graph for this function:

unsigned short oncsSub_idmvtxv2::decode_row ( int  hit) const

Definition at line 69 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 69 of file oncsSub_idmvtxv2.cc

Referenced by dump().

+ Here is the caller graph for this function:

void oncsSub_idmvtxv2::dump ( OSTREAM os = COUT)
virtual

Reimplemented from oncsSubevent_w4.

Definition at line 529 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 529 of file oncsSub_idmvtxv2.cc

References decode(), decode_col(), decode_row(), oncsSubevent::identify(), IDMVTXV2_MAXRUCHN, IDMVTXV2_MAXRUID, iValue(), and mask_contains_ruchn().

+ Here is the call graph for this function:

int oncsSub_idmvtxv2::encode_hit ( unsigned short  row,
unsigned short  col 
) const

Definition at line 64 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 64 of file oncsSub_idmvtxv2.cc

Referenced by decode().

+ Here is the caller graph for this function:

void oncsSub_idmvtxv2::gdump ( const int  how = EVT_HEXADECIMAL,
OSTREAM os = COUT 
) const
virtual

Reimplemented from oncsSubevent_w4.

Definition at line 611 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 611 of file oncsSub_idmvtxv2.cc

References subevt_data::data, EVT_DECIMAL, EVT_HEXADECIMAL, oncsSubevent::getLength(), oncsSubevent::getPadding(), oncsSubevent::identify(), print_stuff(), SETW, SEVTHEADERLENGTH, subevt_data::sub_length, subevt_data::sub_padding, and oncsSubevent::SubeventHdr.

+ Here is the call graph for this function:

int oncsSub_idmvtxv2::iValue ( const int  channel,
const char *  what 
)
virtual

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 413 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 413 of file oncsSub_idmvtxv2.cc

References _bad_ruchns, _bad_ruids, _decoder_error, _highest_ruid, _inconsistent_bc, _lane_stops, _lane_timeouts, _lanes_active, _unexpected_felix_counters, and decode().

Referenced by dump().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int oncsSub_idmvtxv2::iValue ( const int  channel)
virtual

iValue returns the value of a given channel as an int.

Implements Packet.

Definition at line 456 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 456 of file oncsSub_idmvtxv2.cc

References _highest_ruid, _lanes_active, and decode().

+ Here is the call graph for this function:

int oncsSub_idmvtxv2::iValue ( const int  channel,
const int  y,
const char *  what 
)
virtual

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

Implements Packet.

Definition at line 464 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 464 of file oncsSub_idmvtxv2.cc

References _bad_bytes, _bunchcounter, _chip_id, _excess_bytes, _header_found, _highest_ruid, _lanes_active, _readout_flags, _trailer_found, and decode().

+ Here is the call graph for this function:

int oncsSub_idmvtxv2::iValue ( const int  channel,
const int  iy 
)
virtual

this supports devices which are inherently organized as two-dimensional data, such as flash ADC's (channel vs time slice)

Implements Packet.

Definition at line 509 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 509 of file oncsSub_idmvtxv2.cc

References _highest_ruid, _hit_vectors, _lanes_active, decode(), and mask_contains_ruchn().

+ Here is the call graph for this function:

int oncsSub_idmvtxv2::iValue ( const int  channel,
const int  iy,
const int  iz 
)
virtual

this supports devices organized as three-dimensional data (card vs channel vs time slice )

Implements Packet.

Definition at line 519 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 519 of file oncsSub_idmvtxv2.cc

References _highest_ruid, _hit_vectors, _lanes_active, decode(), and mask_contains_ruchn().

+ Here is the call graph for this function:

bool oncsSub_idmvtxv2::mask_contains_ruchn ( int  mask,
int  ruchn 
)

Definition at line 79 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 79 of file oncsSub_idmvtxv2.cc

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

+ Here is the caller graph for this function:

void oncsSub_idmvtxv2::print_stuff ( OSTREAM out,
unsigned int  data,
int  width,
int  shift,
bool  blank = false 
) const
protected

Definition at line 54 of file oncsSub_idmvtxv2.cc.

View newest version in sPHENIX GitHub at line 54 of file oncsSub_idmvtxv2.cc

References width().

Referenced by gdump().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

int oncsSub_idmvtxv2::_bad_bytes[IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
protected

Definition at line 73 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 73 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_bad_ruchns[IDMVTXV2_MAXRUID+1]
protected

Definition at line 67 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 67 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_bad_ruids
protected

Definition at line 66 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 66 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_bunchcounter[IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
protected

Definition at line 75 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 75 of file oncsSub_idmvtxv2.h

Referenced by checkBC(), decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_chip_id[IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
protected

Definition at line 72 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 72 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_decoder_error
protected

Definition at line 61 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 61 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_excess_bytes[IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
protected

Definition at line 74 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 74 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

bool oncsSub_idmvtxv2::_header_found[IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
protected

Definition at line 76 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 76 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_highest_ruid
protected

Definition at line 60 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 60 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

std::vector<int> oncsSub_idmvtxv2::_hit_vectors[IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
protected

Definition at line 63 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 63 of file oncsSub_idmvtxv2.h

Referenced by decode(), and iValue().

int oncsSub_idmvtxv2::_inconsistent_bc[IDMVTXV2_MAXRUID+1]
protected

Definition at line 71 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 71 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_is_decoded
protected

Definition at line 58 of file oncsSub_idmvtxv2.h.

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

Referenced by decode(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_lane_stops[IDMVTXV2_MAXRUID+1]
protected

Definition at line 69 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 69 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_lane_timeouts[IDMVTXV2_MAXRUID+1]
protected

Definition at line 70 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 70 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_lanes_active[IDMVTXV2_MAXRUID+1]
protected

Definition at line 68 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 68 of file oncsSub_idmvtxv2.h

Referenced by checkBC(), decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_readout_flags[IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
protected

Definition at line 78 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 78 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

bool oncsSub_idmvtxv2::_trailer_found[IDMVTXV2_MAXRUID+1][IDMVTXV2_MAXRUCHN+1]
protected

Definition at line 77 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 77 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().

int oncsSub_idmvtxv2::_unexpected_felix_counters
protected

Definition at line 65 of file oncsSub_idmvtxv2.h.

View newest version in sPHENIX GitHub at line 65 of file oncsSub_idmvtxv2.h

Referenced by decode(), iValue(), and oncsSub_idmvtxv2().


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