5#ifndef TrigT1RPChardware_Matrix_H
6#define TrigT1RPChardware_Matrix_H
46 Matrix(
int run,
int event,
CMAword debug,
int subsys,
int proj,
int sect,
int padadd,
int lowhig,
int add[2],
int locadd,
int NOBXS,
int BCZERO);
54 void putData(
int sidemat,
int layer,
int stripaddress,
float time);
unsigned short int ubit16
BaseObject(ObjectType, const std::string &)
CMAword intPow(const ubit16 base, const ubit16 expo) const
Matrix(int run, int event, CMAword debug, int subsys, int proj, int sect, int padadd, int lowhig, int add[2], int locadd, int NOBXS, int BCZERO)
CMAword m_channReadOutMask[2][2][2]
CMAword m_triggerOverlapRO[64][2]
static const ubit16 s_nthres
static const float s_DLLtime
void disp_CMAreg(ubit16 id) const
void setRunEvent(int runNum, int eventNum)
void setDelay(ubit16 iside, ubit16 ilayer, ubit16 delay)
void set_to_1(CMAword *p, sbit16 channel) const
int getProjection() const
CMAword m_channMask1[3][2][2][2]
void show_attributes() const
static const sbit16 s_nclock
ubit16 m_channDeadT[2][2][8]
void reduce(ubit16 ia, ubit16 ja, ubit16 ka, ubit16 la, ubit16 nup, ubit16 first)
static const sbit16 s_ROOffset
static const sbit16 s_timeGroupA
ubit16 char2int(const char *str, CMAword the32[2])
void setOverlaThres(int overthres)
ubit16 getOutputThres(ubit16 bunch) const
void dispDefaultConfiguration() const
CMAword getMatOverlap(ubit16 add) const
void setMask1(ubit16 ithreshold, ubit16 iside, ubit16 imajority, ubit16 ichannel)
void set_to_0(CMAword *p, sbit16 channel) const
static const float s_BCtime
static const sbit16 s_NBunch
void makeTestPattern(ubit16 mode, ubit16 ktimes)
CMAword m_input[2][2][64][2]
CMAword m_k_pattern[8 *64]
void dispTrigger(const CMAword *p) const
CMAword rodat[2][2][64][2]
Note array lengths using hardcoded values rather than to depend on NOBXS as they were in the past (as...
void setTrigDeadTime(ubit16 deadt)
void putPatt(const Matrix *p)
static const ubit16 s_NDLLCYC
void setMaskReadOut(ubit16 iside, ubit16 ilayer, ubit16 ichannel)
void setKReadOut(int kToReadout)
void shift(CMAword *buffi, CMAword *buffo, ubit16 i) const
CMAword m_mjori[3][2][2][64][2]
CMAword m_prepr[3][2][2][64][2]
void setConfig(int *l, ubit16 *p1, int *k, CMAword *p2, int *q, CMAword *o, sbit32 *g)
ubit16 getOutputOverl(ubit16 bunch) const
static const sbit16 s_timeGroupB
void setMask0(ubit16 iside, ubit16 ilayer, ubit16 ichannel)
void setDefaultConfiguration()
int getMajority(ubit16 add) const
void dispRegister(const CMAword *p, ubit16 side) const
sbit16 getBunchPhase() const
ubit16 m_channDelay[2][2][4]
ubit16 m_channMask0[2][2][64]
CMAword m_triggerOverlap[8][2]
static const ubit16 s_nchan[2]
void putData(int sidemat, int layer, int stripaddress, float time)
CMAword getRoad(ubit16 addThres, ubit16 addChn, ubit16 add64) const
void setDeadTime(ubit16 deadt)
CMAword m_trigRoad[3][32][2]
void setMatOverlap(ubit16 add, CMAword content)
void setBCzero(ubit16 offset)
ubit16 m_pulseWidth[2][2][8]
void setLocalDirection(ubit16 add, int content)
void setPulseWidth(ubit16 length)
void dispBinary(const CMAword *p, std::ostringstream &strdisp) const
void setMajority(ubit16 add, int content)
void setRoad(ubit16 addThres, ubit16 addChn, ubit16 add64, CMAword content)
sbit16 getBunchOffset() const
static const sbit16 s_wordlen
void setDiagonal(ubit16 add, sbit32 content)
bool add(const std::string &hname, TKey *tobj)