ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CMAprogram Class Reference

#include <CMAprogram.h>

Collaboration diagram for CMAprogram:

Public Member Functions

 CMAprogram ()
 
 CMAprogram (std::ifstream &file, bool NewCab=false)
 
 CMAprogram (std::istringstream &filestr, bool NewCab=false)
 
 CMAprogram (const CMAprogram &)=default
 
CMAprogramoperator= (const CMAprogram &)=default
 
const bool * registers (void) const
 
const uint32_t * bytes (void) const
 
bool check (void) const
 
uint32_t overlap1 (void) const
 
uint32_t overlap2 (void) const
 
uint32_t local_direc_i (void) const
 
uint32_t local_direc_j (void) const
 
uint32_t k_readout (void) const
 
uint32_t main_control () const
 
uint8_t main_count () const
 
uint8_t main_status () const
 
uint32_t pipe_i0_mask0_in () const
 
uint32_t pipe_i0_edge () const
 
uint16_t pipe_i0_ipb_regdepth () const
 
uint32_t pipe_i0_shape () const
 
uint32_t pipe_i0_mask0_readout () const
 
uint32_t pipe_i0_mask0_trig () const
 
uint32_t pipe_i1_mask0_in () const
 
uint32_t pipe_i1_edge () const
 
uint16_t pipe_i1_ipb_regdepth () const
 
uint32_t pipe_i1_shape () const
 
uint32_t pipe_i1_mask0_readout () const
 
uint32_t pipe_i1_mask0_trig () const
 
uint64_t pipe_j0_mask0_in () const
 
uint64_t pipe_j0_edge () const
 
uint32_t pipe_j0_ipb_regdepth () const
 
uint64_t pipe_j0_shape () const
 
uint64_t pipe_j0_mask0_readout () const
 
uint64_t pipe_j0_mask0_trig () const
 
uint64_t pipe_j1_mask0_in () const
 
uint64_t pipe_j1_edge () const
 
uint32_t pipe_j1_ipb_regdepth () const
 
uint64_t pipe_j1_shape () const
 
uint64_t pipe_j1_mask0_readout () const
 
uint64_t pipe_j1_mask0_trig () const
 
uint8_t trig_thr0_maj_reg () const
 
uint32_t trig_thr0_mask_1_i_ge1_reg () const
 
uint32_t trig_thr0_mask_1_i_eq2_reg () const
 
uint64_t trig_thr0_mask_1_j_ge1_reg () const
 
uint64_t trig_thr0_mask_1_j_eq2_reg () const
 
uint8_t trig_thr1_maj_reg () const
 
uint32_t trig_thr1_mask_1_i_ge1_reg () const
 
uint32_t trig_thr1_mask_1_i_eq2_reg () const
 
uint64_t trig_thr1_mask_1_j_ge1_reg () const
 
uint64_t trig_thr1_mask_1_j_eq2_reg () const
 
uint8_t trig_thr2_maj_reg () const
 
uint32_t trig_thr2_mask_1_i_ge1_reg () const
 
uint32_t trig_thr2_mask_1_i_eq2_reg () const
 
uint64_t trig_thr2_mask_1_j_ge1_reg () const
 
uint64_t trig_thr2_mask_1_j_eq2_reg () const
 
uint8_t trig_declu_i0_clsize () const
 
uint8_t trig_declu_i1_clsize () const
 
uint8_t trig_declu_j0_clsize () const
 
uint8_t trig_declu_j1_clsize () const
 
uint8_t trig_prp_i_eta_reg () const
 
uint8_t trig_prp_j_eta_reg () const
 
uint32_t trig_shape_k_reg () const
 
uint32_t trig_ovl_sx_reg () const
 
uint32_t trig_ovl_dx_reg () const
 
uint64_t trig_edge_reg () const
 
uint16_t readout_buffer_empty () const
 
uint16_t readout_buffer_almost_empty () const
 
uint16_t readout_buffer_half_full () const
 
uint16_t readout_buffer_almost_full () const
 
uint16_t readout_buffer_full () const
 
uint8_t readout_buffer_latreg () const
 
uint8_t readout_buffer_hireg () const
 
uint8_t readout_buffer_lowreg () const
 
uint8_t readout_serializer_dslink () const
 
uint16_t l1c_pre () const
 
uint16_t bcc_pre () const
 
void open_threshold (int th)
 
void copy_over (int, int)
 
bool hasProgrammed (unsigned int th) const
 

Private Member Functions

bool read_v02 (DBline &)
 

Private Attributes

bool m_isnewcab {false}
 
bool m_status {false}
 
uint8_t m_main_count {0}
 
uint8_t m_main_status {0}
 
uint32_t m_main_control {0x60}
 
uint32_t m_overlap1 {0xff}
 
uint32_t m_overlap2 {0xff000000}
 
uint32_t m_trig_local_direc_i {0x1}
 
uint32_t m_trig_local_direc_j {0x1}
 
uint32_t m_trig_k_readout {0}
 
uint16_t m_pipe_i0_ipb_regdepth {0x0101}
 
uint16_t m_pipe_i1_ipb_regdepth {0x0101}
 
uint32_t m_pipe_i0_mask0_in {0}
 
uint32_t m_pipe_i0_edge {0x07070707}
 
uint32_t m_pipe_i0_shape {0x07070707}
 
uint32_t m_pipe_i0_mask0_readout {0}
 
uint32_t m_pipe_i0_mask0_trig {0}
 
uint32_t m_pipe_i1_mask0_in {0}
 
uint32_t m_pipe_i1_edge {0x07070707}
 
uint32_t m_pipe_i1_shape {0x07070707}
 
uint32_t m_pipe_i1_mask0_readout {0}
 
uint32_t m_pipe_i1_mask0_trig {0}
 
uint32_t m_pipe_j0_ipb_regdepth {0x01010101}
 
uint32_t m_pipe_j1_ipb_regdepth {0x01010101}
 
uint64_t m_pipe_j0_mask0_in {0}
 
uint64_t m_pipe_j0_edge {0x0707070707070707}
 
uint64_t m_pipe_j0_shape {0x0707070707070707}
 
uint64_t m_pipe_j0_mask0_readout {0}
 
uint64_t m_pipe_j0_mask0_trig {0}
 
uint64_t m_pipe_j1_mask0_in {0}
 
uint64_t m_pipe_j1_edge {0}
 
uint64_t m_pipe_j1_shape {0x0707070707070707}
 
uint64_t m_pipe_j1_mask0_readout {0}
 
uint64_t m_pipe_j1_mask0_trig {0}
 
uint32_t m_trig_thr0_mask_1_i_ge1_reg {0}
 
uint32_t m_trig_thr0_mask_1_i_eq2_reg {0}
 
uint64_t m_trig_thr0_mask_1_j_ge1_reg {0}
 
uint64_t m_trig_thr0_mask_1_j_eq2_reg {0}
 
uint32_t m_trig_thr1_mask_1_i_ge1_reg {0}
 
uint32_t m_trig_thr1_mask_1_i_eq2_reg {0}
 
uint64_t m_trig_thr1_mask_1_j_ge1_reg {0}
 
uint64_t m_trig_thr1_mask_1_j_eq2_reg {0}
 
uint32_t m_trig_thr2_mask_1_i_ge1_reg {0}
 
uint32_t m_trig_thr2_mask_1_i_eq2_reg {0}
 
uint64_t m_trig_thr2_mask_1_j_ge1_reg {0}
 
uint64_t m_trig_thr2_mask_1_j_eq2_reg {0}
 
uint64_t m_trig_edge_reg {0x070707070707}
 
uint32_t m_trig_shape_k_reg {0x07070707}
 
uint32_t m_trig_ovl_sx_reg {0xff000000}
 
uint32_t m_trig_ovl_dx_reg {0x000000ff}
 
uint16_t m_readout_buffer_empty {0}
 
uint16_t m_readout_buffer_almost_empty {0}
 
uint16_t m_readout_buffer_half_full {0}
 
uint16_t m_readout_buffer_almost_full {0}
 
uint16_t m_readout_buffer_full {0}
 
uint8_t m_trig_declu_i0_clsize {0x2}
 
uint8_t m_trig_declu_i1_clsize {0x2}
 
uint8_t m_trig_declu_j0_clsize {0x2}
 
uint8_t m_trig_declu_j1_clsize {0x2}
 
uint8_t m_trig_prp_i_eta_reg {0x1}
 
uint8_t m_trig_prp_j_eta_reg {0x1}
 
uint8_t m_trig_thr0_maj_reg {0x2}
 
uint8_t m_trig_thr1_maj_reg {0x2}
 
uint8_t m_trig_thr2_maj_reg {0x2}
 
uint8_t m_readout_buffer_latreg {0x67}
 
uint8_t m_readout_buffer_hireg {0x67}
 
uint8_t m_readout_buffer_lowreg {0x60}
 
uint8_t m_readout_serializer_dslink {0x1}
 
uint16_t m_l1c_pre {0x1ff}
 
uint16_t m_bcc_pre {0}
 
bool m_threshold_registers [3][CMAparameters::pivot_channels][CMAparameters::confirm_channels] {}
 
uint32_t m_program_bytes [3][CMAparameters::pivot_channels][2] {}
 

Friends

std::ostream & operator<< (std::ostream &, const CMAprogram &)
 

Detailed Description

Definition at line 11 of file CMAprogram.h.

Constructor & Destructor Documentation

◆ CMAprogram() [1/4]

CMAprogram::CMAprogram ( )

Definition at line 9 of file CMAprogram.cxx.

9  {
10 
11  // initialize multi-dimensional arrays:
12  std::fill_n(reinterpret_cast<uint32_t*>(m_program_bytes),
14  0xffffffff);
15 
16  std::fill_n(reinterpret_cast<bool*>(m_threshold_registers),
18  true);
19 }

◆ CMAprogram() [2/4]

CMAprogram::CMAprogram ( std::ifstream &  file,
bool  NewCab = false 
)

Definition at line 21 of file CMAprogram.cxx.

21  :
22  CMAprogram() {
23 
24  m_isnewcab = NewCab;
25  DBline data(file);
27 }

◆ CMAprogram() [3/4]

CMAprogram::CMAprogram ( std::istringstream &  filestr,
bool  NewCab = false 
)

Definition at line 29 of file CMAprogram.cxx.

29  :
30  CMAprogram() {
31 
32  m_isnewcab = NewCab;
33  DBline data(filestr);
35 }

◆ CMAprogram() [4/4]

CMAprogram::CMAprogram ( const CMAprogram )
default

Member Function Documentation

◆ bcc_pre()

uint16_t CMAprogram::bcc_pre ( ) const
inline

Definition at line 287 of file CMAprogram.h.

287 { return m_bcc_pre; }

◆ bytes()

const uint32_t* CMAprogram::bytes ( void  ) const
inline

Definition at line 120 of file CMAprogram.h.

120 { return reinterpret_cast<const uint32_t*>(m_program_bytes); }

◆ check()

bool CMAprogram::check ( void  ) const
inline

Definition at line 122 of file CMAprogram.h.

122 { return m_status; }

◆ copy_over()

void CMAprogram::copy_over ( int  source,
int  dest 
)

Definition at line 262 of file CMAprogram.cxx.

262  {
263  if (source >= 3 || dest >= 3) return;
264  if (source == dest) return;
265 
266  for (int ch = 0; ch < CMAparameters::pivot_channels; ++ch) {
267  m_program_bytes[dest][ch][1] = m_program_bytes[source][ch][1];
268  m_program_bytes[dest][ch][0] = m_program_bytes[source][ch][0];
269 
270  for (int bit = 0; bit < 32; ++bit) {
271  m_threshold_registers[dest][ch][bit] = m_threshold_registers[source][ch][bit];
272  m_threshold_registers[dest][ch][bit + 32] = m_threshold_registers[source][ch][bit + 32];
273  }
274  }
275 }

◆ hasProgrammed()

bool CMAprogram::hasProgrammed ( unsigned int  th) const

Definition at line 277 of file CMAprogram.cxx.

277  {
278  if (th >= 3) return false;
279  for (int ch = 0; ch < CMAparameters::pivot_channels; ++ch) {
280  if (m_program_bytes[th][ch][1] != 0x0) return true;
281  if (m_program_bytes[th][ch][0] != 0x0) return true;
282  }
283  return false;
284 }

◆ k_readout()

uint32_t CMAprogram::k_readout ( void  ) const
inline

Definition at line 127 of file CMAprogram.h.

127 { return m_trig_k_readout; }

◆ l1c_pre()

uint16_t CMAprogram::l1c_pre ( ) const
inline

Definition at line 286 of file CMAprogram.h.

286 { return m_l1c_pre; }

◆ local_direc_i()

uint32_t CMAprogram::local_direc_i ( void  ) const
inline

Definition at line 125 of file CMAprogram.h.

125 { return m_trig_local_direc_i; }

◆ local_direc_j()

uint32_t CMAprogram::local_direc_j ( void  ) const
inline

Definition at line 126 of file CMAprogram.h.

126 { return m_trig_local_direc_j; }

◆ main_control()

uint32_t CMAprogram::main_control ( ) const
inline

Definition at line 213 of file CMAprogram.h.

213 { return m_main_control; }

◆ main_count()

uint8_t CMAprogram::main_count ( ) const
inline

Definition at line 214 of file CMAprogram.h.

214 { return m_main_count; }

◆ main_status()

uint8_t CMAprogram::main_status ( ) const
inline

Definition at line 215 of file CMAprogram.h.

215 { return m_main_status; }

◆ open_threshold()

void CMAprogram::open_threshold ( int  th)

Definition at line 249 of file CMAprogram.cxx.

249  {
250  if (th >= 3) return;
251  for (int ch = 0; ch < CMAparameters::pivot_channels; ++ch) {
252  m_program_bytes[th][ch][1] = 0xffffffff;
253  m_program_bytes[th][ch][0] = 0xffffffff;
254 
255  for (int bit = 0; bit < 32; ++bit) {
256  m_threshold_registers[th][ch][bit] = true;
257  m_threshold_registers[th][ch][bit + 32] = true;
258  }
259  }
260 }

◆ operator=()

CMAprogram& CMAprogram::operator= ( const CMAprogram )
default

◆ overlap1()

uint32_t CMAprogram::overlap1 ( void  ) const
inline

Definition at line 123 of file CMAprogram.h.

123 { return m_overlap1; }

◆ overlap2()

uint32_t CMAprogram::overlap2 ( void  ) const
inline

Definition at line 124 of file CMAprogram.h.

124 { return m_overlap2; }

◆ pipe_i0_edge()

uint32_t CMAprogram::pipe_i0_edge ( ) const
inline

Definition at line 218 of file CMAprogram.h.

218 { return m_pipe_i0_edge; }

◆ pipe_i0_ipb_regdepth()

uint16_t CMAprogram::pipe_i0_ipb_regdepth ( ) const
inline

Definition at line 219 of file CMAprogram.h.

219 { return m_pipe_i0_ipb_regdepth; }

◆ pipe_i0_mask0_in()

uint32_t CMAprogram::pipe_i0_mask0_in ( ) const
inline

Definition at line 217 of file CMAprogram.h.

217 { return m_pipe_i0_mask0_in; }

◆ pipe_i0_mask0_readout()

uint32_t CMAprogram::pipe_i0_mask0_readout ( ) const
inline

Definition at line 221 of file CMAprogram.h.

221 { return m_pipe_i0_mask0_readout; }

◆ pipe_i0_mask0_trig()

uint32_t CMAprogram::pipe_i0_mask0_trig ( ) const
inline

Definition at line 222 of file CMAprogram.h.

222 { return m_pipe_i0_mask0_trig; }

◆ pipe_i0_shape()

uint32_t CMAprogram::pipe_i0_shape ( ) const
inline

Definition at line 220 of file CMAprogram.h.

220 { return m_pipe_i0_shape; }

◆ pipe_i1_edge()

uint32_t CMAprogram::pipe_i1_edge ( ) const
inline

Definition at line 225 of file CMAprogram.h.

225 { return m_pipe_i1_edge; }

◆ pipe_i1_ipb_regdepth()

uint16_t CMAprogram::pipe_i1_ipb_regdepth ( ) const
inline

Definition at line 226 of file CMAprogram.h.

226 { return m_pipe_i1_ipb_regdepth; }

◆ pipe_i1_mask0_in()

uint32_t CMAprogram::pipe_i1_mask0_in ( ) const
inline

Definition at line 224 of file CMAprogram.h.

224 { return m_pipe_i1_mask0_in; }

◆ pipe_i1_mask0_readout()

uint32_t CMAprogram::pipe_i1_mask0_readout ( ) const
inline

Definition at line 228 of file CMAprogram.h.

228 { return m_pipe_i1_mask0_readout; }

◆ pipe_i1_mask0_trig()

uint32_t CMAprogram::pipe_i1_mask0_trig ( ) const
inline

Definition at line 229 of file CMAprogram.h.

229 { return m_pipe_i1_mask0_trig; }

◆ pipe_i1_shape()

uint32_t CMAprogram::pipe_i1_shape ( ) const
inline

Definition at line 227 of file CMAprogram.h.

227 { return m_pipe_i1_shape; }

◆ pipe_j0_edge()

uint64_t CMAprogram::pipe_j0_edge ( ) const
inline

Definition at line 232 of file CMAprogram.h.

232 { return m_pipe_j0_edge; }

◆ pipe_j0_ipb_regdepth()

uint32_t CMAprogram::pipe_j0_ipb_regdepth ( ) const
inline

Definition at line 233 of file CMAprogram.h.

233 { return m_pipe_j0_ipb_regdepth; }

◆ pipe_j0_mask0_in()

uint64_t CMAprogram::pipe_j0_mask0_in ( ) const
inline

Definition at line 231 of file CMAprogram.h.

231 { return m_pipe_j0_mask0_in; }

◆ pipe_j0_mask0_readout()

uint64_t CMAprogram::pipe_j0_mask0_readout ( ) const
inline

Definition at line 235 of file CMAprogram.h.

235 { return m_pipe_j0_mask0_readout; }

◆ pipe_j0_mask0_trig()

uint64_t CMAprogram::pipe_j0_mask0_trig ( ) const
inline

Definition at line 236 of file CMAprogram.h.

236 { return m_pipe_j0_mask0_trig; }

◆ pipe_j0_shape()

uint64_t CMAprogram::pipe_j0_shape ( ) const
inline

Definition at line 234 of file CMAprogram.h.

234 { return m_pipe_j0_shape; }

◆ pipe_j1_edge()

uint64_t CMAprogram::pipe_j1_edge ( ) const
inline

Definition at line 239 of file CMAprogram.h.

239 { return m_pipe_j1_edge; }

◆ pipe_j1_ipb_regdepth()

uint32_t CMAprogram::pipe_j1_ipb_regdepth ( ) const
inline

Definition at line 240 of file CMAprogram.h.

240 { return m_pipe_j1_ipb_regdepth; }

◆ pipe_j1_mask0_in()

uint64_t CMAprogram::pipe_j1_mask0_in ( ) const
inline

Definition at line 238 of file CMAprogram.h.

238 { return m_pipe_j1_mask0_in; }

◆ pipe_j1_mask0_readout()

uint64_t CMAprogram::pipe_j1_mask0_readout ( ) const
inline

Definition at line 242 of file CMAprogram.h.

242 { return m_pipe_j1_mask0_readout; }

◆ pipe_j1_mask0_trig()

uint64_t CMAprogram::pipe_j1_mask0_trig ( ) const
inline

Definition at line 243 of file CMAprogram.h.

243 { return m_pipe_j1_mask0_trig; }

◆ pipe_j1_shape()

uint64_t CMAprogram::pipe_j1_shape ( ) const
inline

Definition at line 241 of file CMAprogram.h.

241 { return m_pipe_j1_shape; }

◆ read_v02()

bool CMAprogram::read_v02 ( DBline data)
private

Definition at line 37 of file CMAprogram.cxx.

37  {
38  uint32_t right_bit = 0x1;
39  std::string ignore;
40 
41  ++data;
42 
43  while (data) {
44  data("set_main_control") >> data.dbhex() >> m_main_control >> data.dbdec();
45  data("set_main_count") >> data.dbhex() >> m_main_count >> data.dbdec();
46  data("set_main_status") >> data.dbhex() >> m_main_status >> data.dbdec();
47 
48  data("set_pipe_i0_mask0_in") >> data.dbhex() >> m_pipe_i0_mask0_in >> data.dbdec();
49  data("set_pipe_i0_edge") >> data.dbhex() >> m_pipe_i0_edge >> data.dbdec();
50  data("set_pipe_i0_ipb_regdepth") >> data.dbhex() >> m_pipe_i0_ipb_regdepth >> data.dbdec();
51  data("set_pipe_i0_shape") >> data.dbhex() >> m_pipe_i0_shape >> data.dbdec();
52  data("set_pipe_i0_mask0_readout") >> data.dbhex() >> m_pipe_i0_mask0_readout >> data.dbdec();
53  data("set_pipe_i0_mask0_trig") >> data.dbhex() >> m_pipe_i0_mask0_trig >> data.dbdec();
54 
55  data("set_pipe_i1_mask0_in") >> data.dbhex() >> m_pipe_i1_mask0_in >> data.dbdec();
56  data("set_pipe_i1_edge") >> data.dbhex() >> m_pipe_i1_edge >> data.dbdec();
57  data("set_pipe_i1_ipb_regdepth") >> data.dbhex() >> m_pipe_i1_ipb_regdepth >> data.dbdec();
58  data("set_pipe_i1_shape") >> data.dbhex() >> m_pipe_i1_shape >> data.dbdec();
59  data("set_pipe_i1_mask0_readout") >> data.dbhex() >> m_pipe_i1_mask0_readout >> data.dbdec();
60  data("set_pipe_i1_mask0_trig") >> data.dbhex() >> m_pipe_i1_mask0_trig >> data.dbdec();
61 
62  data("set_pipe_j0_mask0_in") >> data.dbhex() >> m_pipe_j0_mask0_in >> data.dbdec();
63  data("set_pipe_j0_edge") >> data.dbhex() >> m_pipe_j0_edge >> data.dbdec();
64  data("set_pipe_j0_ipb_regdepth") >> data.dbhex() >> m_pipe_j0_ipb_regdepth >> data.dbdec();
65  data("set_pipe_j0_shape") >> data.dbhex() >> m_pipe_j0_shape >> data.dbdec();
66  data("set_pipe_j0_mask0_readout") >> data.dbhex() >> m_pipe_j0_mask0_readout >> data.dbdec();
67  data("set_pipe_j0_mask0_trig") >> data.dbhex() >> m_pipe_j0_mask0_trig >> data.dbdec();
68 
69  data("set_pipe_j1_mask0_in") >> data.dbhex() >> m_pipe_j1_mask0_in >> data.dbdec();
70  data("set_pipe_j1_edge") >> data.dbhex() >> m_pipe_j1_edge >> data.dbdec();
71  data("set_pipe_j1_ipb_regdepth") >> data.dbhex() >> m_pipe_j1_ipb_regdepth >> data.dbdec();
72  data("set_pipe_j1_shape") >> data.dbhex() >> m_pipe_j1_shape >> data.dbdec();
73  data("set_pipe_j1_mask0_readout") >> data.dbhex() >> m_pipe_j1_mask0_readout >> data.dbdec();
74  data("set_pipe_j1_mask0_trig") >> data.dbhex() >> m_pipe_j1_mask0_trig >> data.dbdec();
75 
76  data("set_trig_thr0_maj_reg") >> data.dbhex() >> m_trig_thr0_maj_reg >> data.dbdec();
77  data("set_trig_thr0_mask_1_i_ge1_reg") >> data.dbhex() >> m_trig_thr0_mask_1_i_ge1_reg >> data.dbdec();
78  data("set_trig_thr0_mask_1_i_eq2_reg") >> data.dbhex() >> m_trig_thr0_mask_1_i_eq2_reg >> data.dbdec();
79  data("set_trig_thr0_mask_1_j_ge1_reg") >> data.dbhex() >> m_trig_thr0_mask_1_j_ge1_reg >> data.dbdec();
80  data("set_trig_thr0_mask_1_j_eq2_reg") >> data.dbhex() >> m_trig_thr0_mask_1_j_eq2_reg >> data.dbdec();
81 
82  data("set_trig_thr1_maj_reg") >> data.dbhex() >> m_trig_thr1_maj_reg >> data.dbdec();
83  data("set_trig_thr1_mask_1_i_ge1_reg") >> data.dbhex() >> m_trig_thr1_mask_1_i_ge1_reg >> data.dbdec();
84  data("set_trig_thr1_mask_1_i_eq2_reg") >> data.dbhex() >> m_trig_thr1_mask_1_i_eq2_reg >> data.dbdec();
85  data("set_trig_thr1_mask_1_j_ge1_reg") >> data.dbhex() >> m_trig_thr1_mask_1_j_ge1_reg >> data.dbdec();
86  data("set_trig_thr1_mask_1_j_eq2_reg") >> data.dbhex() >> m_trig_thr1_mask_1_j_eq2_reg >> data.dbdec();
87 
88  data("set_trig_thr2_maj_reg") >> data.dbhex() >> m_trig_thr2_maj_reg >> data.dbdec();
89  data("set_trig_thr2_mask_1_i_ge1_reg") >> data.dbhex() >> m_trig_thr2_mask_1_i_ge1_reg >> data.dbdec();
90  data("set_trig_thr2_mask_1_i_eq2_reg") >> data.dbhex() >> m_trig_thr2_mask_1_i_eq2_reg >> data.dbdec();
91  data("set_trig_thr2_mask_1_j_ge1_reg") >> data.dbhex() >> m_trig_thr2_mask_1_j_ge1_reg >> data.dbdec();
92  data("set_trig_thr2_mask_1_j_eq2_reg") >> data.dbhex() >> m_trig_thr2_mask_1_j_eq2_reg >> data.dbdec();
93 
94  data("set_trig_declu_i0_clsize") >> data.dbhex() >> m_trig_declu_i0_clsize >> data.dbdec();
95  data("set_trig_declu_i1_clsize") >> data.dbhex() >> m_trig_declu_i1_clsize >> data.dbdec();
96  data("set_trig_declu_j0_clsize") >> data.dbhex() >> m_trig_declu_j0_clsize >> data.dbdec();
97  data("set_trig_declu_j1_clsize") >> data.dbhex() >> m_trig_declu_j1_clsize >> data.dbdec();
98 
99  data("set_trig_prp_i_eta_reg") >> data.dbhex() >> m_trig_local_direc_i >> data.dbdec();
100  data("set_trig_prp_j_eta_reg") >> data.dbhex() >> m_trig_local_direc_j >> data.dbdec();
101  data("set_trig_shape_k_reg") >> data.dbhex() >> m_trig_shape_k_reg >> data.dbdec();
102  data("set_trig_ovl_sx_reg") >> data.dbhex() >> m_overlap2 >> data.dbdec();
103  data("set_trig_ovl_dx_reg") >> data.dbhex() >> m_overlap1 >> data.dbdec();
104  data("set_trig_edge_reg") >> data.dbhex() >> m_trig_edge_reg >> data.dbdec();
105 
106  data("set_readout_buffer_empty") >> data.dbhex() >> m_readout_buffer_empty >> data.dbdec();
107  data("set_readout_buffer_almost_empty") >> data.dbhex() >> m_readout_buffer_almost_empty >> data.dbdec();
108  data("set_readout_buffer_half_full") >> data.dbhex() >> m_readout_buffer_half_full >> data.dbdec();
109  data("set_readout_buffer_almost_full") >> data.dbhex() >> m_readout_buffer_almost_full >> data.dbdec();
110  data("set_readout_buffer_full") >> data.dbhex() >> m_readout_buffer_full >> data.dbdec();
111  data("set_readout_buffer_latreg") >> data.dbhex() >> m_readout_buffer_latreg >> data.dbdec();
112  data("set_readout_buffer_hireg") >> data.dbhex() >> m_readout_buffer_hireg >> data.dbdec();
113  data("set_readout_buffer_lowreg") >> data.dbhex() >> m_readout_buffer_lowreg >> data.dbdec();
114  data("set_readout_serializer_dslink") >> data.dbhex() >> m_readout_serializer_dslink >> data.dbdec();
115 
116  data("set_l1c_pre") >> data.dbhex() >> m_l1c_pre >> data.dbdec();
117  data("set_bcc_pre") >> data.dbhex() >> m_bcc_pre >> data.dbdec();
118 
119  // start reading the threshold registers
120 
121  uint64_t twowords;
122 
123  if (m_isnewcab) {
124  // case RPC_CondCabling
125  if (data("set_trig_thr0_thr_reg_00")) {
126  for (int i = 0; i < 32; ++i) {
127  ignore.clear();
128  if (i == 0)
129  data >> data.dbhex() >> twowords >> data.dbdec();
130  else
131  data >> ignore >> data.dbhex() >> twowords >> data.dbdec();
132 
133  union Data {
134  uint64_t bits;
135  uint32_t words[2];
136  } dataun{};
137 
138  dataun.bits = twowords;
139 
140  m_program_bytes[0][i][0] = dataun.words[0];
141  m_program_bytes[0][i][1] = dataun.words[1];
142 
143  for (int bit = 0; bit < 32; ++bit) {
144  m_threshold_registers[0][i][bit] = ((dataun.words[0] >> bit) & right_bit) != 0;
145  m_threshold_registers[0][i][bit + 32] = ((dataun.words[1] >> bit) & right_bit) != 0;
146  }
147  if (i < 31) ++data;
148  }
149  }
150 
151  if (data("set_trig_thr1_thr_reg_00")) {
152  ignore.clear();
153  for (int i = 0; i < 32; ++i) {
154  if (i == 0)
155  data >> data.dbhex() >> twowords >> data.dbdec();
156  else
157  data >> ignore >> data.dbhex() >> twowords >> data.dbdec();
158 
159  union Data {
160  uint64_t bits;
161  uint32_t words[2];
162  } dataun{};
163 
164  dataun.bits = twowords;
165 
166  m_program_bytes[1][i][0] = dataun.words[0];
167  m_program_bytes[1][i][1] = dataun.words[1];
168 
169  for (int bit = 0; bit < 32; ++bit) {
170  m_threshold_registers[1][i][bit] = ((dataun.words[0] >> bit) & right_bit) != 0;
171  m_threshold_registers[1][i][bit + 32] = ((dataun.words[1] >> bit) & right_bit) != 0;
172  }
173 
174  if (i < 31) ++data;
175  }
176  }
177 
178  if (data("set_trig_thr2_thr_reg_00")) {
179  ignore.clear();
180  for (int i = 0; i < 32; ++i) {
181  if (i == 0)
182  data >> data.dbhex() >> twowords >> data.dbdec();
183  else
184  data >> ignore >> data.dbhex() >> twowords >> data.dbdec();
185 
186  union Data {
187  uint64_t bits;
188  uint32_t words[2];
189  } dataun{};
190 
191  dataun.bits = twowords;
192 
193  m_program_bytes[2][i][0] = dataun.words[0];
194  m_program_bytes[2][i][1] = dataun.words[1];
195 
196  for (int bit = 0; bit < 32; ++bit) {
197  m_threshold_registers[2][i][bit] = ((dataun.words[0] >> bit) & right_bit) != 0;
198  m_threshold_registers[2][i][bit + 32] = ((dataun.words[1] >> bit) & right_bit) != 0;
199  }
200 
201  if (i < 31) ++data;
202  }
203  }
204  ++data;
205  }
206 
207  else {
208  // case RPCcablingSim
209  // old format ///////////////////////////////////////////////////////
210  for (int i = 1; i <= 3; ++i) {
211  int majority;
212 
213  if (data("th #", i) && data("maj_reg") >> majority) {
214  int th = 0;
215  int ch = 0;
216  uint32_t first_word = 0;
217  uint32_t second_word = 0;
218 
219  ++data;
220 
221  while (data("th") >> th >> "thr_reg" >> ch >> data.dbhex() >> first_word >> second_word >> data.dbdec()) {
222  if (th < 1) return false;
223  m_program_bytes[th - 1][ch][1] = first_word;
224  m_program_bytes[th - 1][ch][0] = second_word;
225 
226  for (int bit = 0; bit < 32; ++bit) {
227  m_threshold_registers[th - 1][ch][bit] = ((second_word >> bit) & right_bit) != 0;
228  m_threshold_registers[th - 1][ch][bit + 32] = ((first_word >> bit) & right_bit) != 0;
229  }
230 
231  ++data;
232  }
233  }
234  }
235 
236  data("overlap1") >> data.dbhex() >> m_overlap1 >> data.dbdec();
237  data("overlap2") >> data.dbhex() >> m_overlap2 >> data.dbdec();
238  data("trig_local_direc_i") >> m_trig_local_direc_i;
239  data("trig_local_direc_j") >> m_trig_local_direc_j;
240  data("trig_k_readout") >> m_trig_k_readout;
241 
242  ++data;
243  }
244  }
245 
246  return true;
247 }

◆ readout_buffer_almost_empty()

uint16_t CMAprogram::readout_buffer_almost_empty ( ) const
inline

Definition at line 277 of file CMAprogram.h.

◆ readout_buffer_almost_full()

uint16_t CMAprogram::readout_buffer_almost_full ( ) const
inline

Definition at line 279 of file CMAprogram.h.

◆ readout_buffer_empty()

uint16_t CMAprogram::readout_buffer_empty ( ) const
inline

Definition at line 276 of file CMAprogram.h.

276 { return m_readout_buffer_empty; }

◆ readout_buffer_full()

uint16_t CMAprogram::readout_buffer_full ( ) const
inline

Definition at line 280 of file CMAprogram.h.

280 { return m_readout_buffer_full; }

◆ readout_buffer_half_full()

uint16_t CMAprogram::readout_buffer_half_full ( ) const
inline

Definition at line 278 of file CMAprogram.h.

278 { return m_readout_buffer_half_full; }

◆ readout_buffer_hireg()

uint8_t CMAprogram::readout_buffer_hireg ( ) const
inline

Definition at line 282 of file CMAprogram.h.

282 { return m_readout_buffer_hireg; }

◆ readout_buffer_latreg()

uint8_t CMAprogram::readout_buffer_latreg ( ) const
inline

Definition at line 281 of file CMAprogram.h.

281 { return m_readout_buffer_latreg; }

◆ readout_buffer_lowreg()

uint8_t CMAprogram::readout_buffer_lowreg ( ) const
inline

Definition at line 283 of file CMAprogram.h.

283 { return m_readout_buffer_lowreg; }

◆ readout_serializer_dslink()

uint8_t CMAprogram::readout_serializer_dslink ( ) const
inline

Definition at line 284 of file CMAprogram.h.

284 { return m_readout_serializer_dslink; }

◆ registers()

const bool* CMAprogram::registers ( void  ) const
inline

Definition at line 119 of file CMAprogram.h.

119 { return reinterpret_cast<const bool*>(m_threshold_registers); }

◆ trig_declu_i0_clsize()

uint8_t CMAprogram::trig_declu_i0_clsize ( ) const
inline

Definition at line 263 of file CMAprogram.h.

263 { return m_trig_declu_i0_clsize; }

◆ trig_declu_i1_clsize()

uint8_t CMAprogram::trig_declu_i1_clsize ( ) const
inline

Definition at line 264 of file CMAprogram.h.

264 { return m_trig_declu_i1_clsize; }

◆ trig_declu_j0_clsize()

uint8_t CMAprogram::trig_declu_j0_clsize ( ) const
inline

Definition at line 265 of file CMAprogram.h.

265 { return m_trig_declu_j0_clsize; }

◆ trig_declu_j1_clsize()

uint8_t CMAprogram::trig_declu_j1_clsize ( ) const
inline

Definition at line 266 of file CMAprogram.h.

266 { return m_trig_declu_j1_clsize; }

◆ trig_edge_reg()

uint64_t CMAprogram::trig_edge_reg ( ) const
inline

Definition at line 274 of file CMAprogram.h.

274 { return m_trig_edge_reg; }

◆ trig_ovl_dx_reg()

uint32_t CMAprogram::trig_ovl_dx_reg ( ) const
inline

Definition at line 273 of file CMAprogram.h.

273 { return m_trig_ovl_dx_reg; }

◆ trig_ovl_sx_reg()

uint32_t CMAprogram::trig_ovl_sx_reg ( ) const
inline

Definition at line 272 of file CMAprogram.h.

272 { return m_trig_ovl_sx_reg; }

◆ trig_prp_i_eta_reg()

uint8_t CMAprogram::trig_prp_i_eta_reg ( ) const
inline

Definition at line 268 of file CMAprogram.h.

268 { return m_trig_prp_i_eta_reg; }

◆ trig_prp_j_eta_reg()

uint8_t CMAprogram::trig_prp_j_eta_reg ( ) const
inline

Definition at line 269 of file CMAprogram.h.

269 { return m_trig_prp_j_eta_reg; }

◆ trig_shape_k_reg()

uint32_t CMAprogram::trig_shape_k_reg ( ) const
inline

Definition at line 271 of file CMAprogram.h.

271 { return m_trig_shape_k_reg; }

◆ trig_thr0_maj_reg()

uint8_t CMAprogram::trig_thr0_maj_reg ( ) const
inline

Definition at line 245 of file CMAprogram.h.

245 { return m_trig_thr0_maj_reg; }

◆ trig_thr0_mask_1_i_eq2_reg()

uint32_t CMAprogram::trig_thr0_mask_1_i_eq2_reg ( ) const
inline

Definition at line 247 of file CMAprogram.h.

◆ trig_thr0_mask_1_i_ge1_reg()

uint32_t CMAprogram::trig_thr0_mask_1_i_ge1_reg ( ) const
inline

Definition at line 246 of file CMAprogram.h.

◆ trig_thr0_mask_1_j_eq2_reg()

uint64_t CMAprogram::trig_thr0_mask_1_j_eq2_reg ( ) const
inline

Definition at line 249 of file CMAprogram.h.

◆ trig_thr0_mask_1_j_ge1_reg()

uint64_t CMAprogram::trig_thr0_mask_1_j_ge1_reg ( ) const
inline

Definition at line 248 of file CMAprogram.h.

◆ trig_thr1_maj_reg()

uint8_t CMAprogram::trig_thr1_maj_reg ( ) const
inline

Definition at line 251 of file CMAprogram.h.

251 { return m_trig_thr1_maj_reg; }

◆ trig_thr1_mask_1_i_eq2_reg()

uint32_t CMAprogram::trig_thr1_mask_1_i_eq2_reg ( ) const
inline

Definition at line 253 of file CMAprogram.h.

◆ trig_thr1_mask_1_i_ge1_reg()

uint32_t CMAprogram::trig_thr1_mask_1_i_ge1_reg ( ) const
inline

Definition at line 252 of file CMAprogram.h.

◆ trig_thr1_mask_1_j_eq2_reg()

uint64_t CMAprogram::trig_thr1_mask_1_j_eq2_reg ( ) const
inline

Definition at line 255 of file CMAprogram.h.

◆ trig_thr1_mask_1_j_ge1_reg()

uint64_t CMAprogram::trig_thr1_mask_1_j_ge1_reg ( ) const
inline

Definition at line 254 of file CMAprogram.h.

◆ trig_thr2_maj_reg()

uint8_t CMAprogram::trig_thr2_maj_reg ( ) const
inline

Definition at line 257 of file CMAprogram.h.

257 { return m_trig_thr2_maj_reg; }

◆ trig_thr2_mask_1_i_eq2_reg()

uint32_t CMAprogram::trig_thr2_mask_1_i_eq2_reg ( ) const
inline

Definition at line 259 of file CMAprogram.h.

◆ trig_thr2_mask_1_i_ge1_reg()

uint32_t CMAprogram::trig_thr2_mask_1_i_ge1_reg ( ) const
inline

Definition at line 258 of file CMAprogram.h.

◆ trig_thr2_mask_1_j_eq2_reg()

uint64_t CMAprogram::trig_thr2_mask_1_j_eq2_reg ( ) const
inline

Definition at line 261 of file CMAprogram.h.

◆ trig_thr2_mask_1_j_ge1_reg()

uint64_t CMAprogram::trig_thr2_mask_1_j_ge1_reg ( ) const
inline

Definition at line 260 of file CMAprogram.h.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  stream,
const CMAprogram program 
)
friend

Definition at line 286 of file CMAprogram.cxx.

286  {
287  unsigned int no_coincidence = 183;
288 
289  for (int piv = CMAparameters::pivot_channels - 1; piv >= 0; --piv) {
290  for (int con = 0; con < CMAparameters::confirm_channels; ++con) {
291  for (int th = 2; th >= 0; --th) {
292  if (program.m_threshold_registers[th][piv][con]) {
293  stream << th + 1;
294  break;
295  }
296  if (th == 0) stream << (char)no_coincidence;
297  }
298  }
299  stream << std::endl;
300  }
301  return stream;
302 }

Member Data Documentation

◆ m_bcc_pre

uint16_t CMAprogram::m_bcc_pre {0}
private

Definition at line 104 of file CMAprogram.h.

◆ m_isnewcab

bool CMAprogram::m_isnewcab {false}
private

Definition at line 15 of file CMAprogram.h.

◆ m_l1c_pre

uint16_t CMAprogram::m_l1c_pre {0x1ff}
private

Definition at line 103 of file CMAprogram.h.

◆ m_main_control

uint32_t CMAprogram::m_main_control {0x60}
private

Definition at line 21 of file CMAprogram.h.

◆ m_main_count

uint8_t CMAprogram::m_main_count {0}
private

Definition at line 18 of file CMAprogram.h.

◆ m_main_status

uint8_t CMAprogram::m_main_status {0}
private

Definition at line 19 of file CMAprogram.h.

◆ m_overlap1

uint32_t CMAprogram::m_overlap1 {0xff}
private

Definition at line 23 of file CMAprogram.h.

◆ m_overlap2

uint32_t CMAprogram::m_overlap2 {0xff000000}
private

Definition at line 24 of file CMAprogram.h.

◆ m_pipe_i0_edge

uint32_t CMAprogram::m_pipe_i0_edge {0x07070707}
private

Definition at line 34 of file CMAprogram.h.

◆ m_pipe_i0_ipb_regdepth

uint16_t CMAprogram::m_pipe_i0_ipb_regdepth {0x0101}
private

Definition at line 30 of file CMAprogram.h.

◆ m_pipe_i0_mask0_in

uint32_t CMAprogram::m_pipe_i0_mask0_in {0}
private

Definition at line 33 of file CMAprogram.h.

◆ m_pipe_i0_mask0_readout

uint32_t CMAprogram::m_pipe_i0_mask0_readout {0}
private

Definition at line 36 of file CMAprogram.h.

◆ m_pipe_i0_mask0_trig

uint32_t CMAprogram::m_pipe_i0_mask0_trig {0}
private

Definition at line 37 of file CMAprogram.h.

◆ m_pipe_i0_shape

uint32_t CMAprogram::m_pipe_i0_shape {0x07070707}
private

Definition at line 35 of file CMAprogram.h.

◆ m_pipe_i1_edge

uint32_t CMAprogram::m_pipe_i1_edge {0x07070707}
private

Definition at line 40 of file CMAprogram.h.

◆ m_pipe_i1_ipb_regdepth

uint16_t CMAprogram::m_pipe_i1_ipb_regdepth {0x0101}
private

Definition at line 31 of file CMAprogram.h.

◆ m_pipe_i1_mask0_in

uint32_t CMAprogram::m_pipe_i1_mask0_in {0}
private

Definition at line 39 of file CMAprogram.h.

◆ m_pipe_i1_mask0_readout

uint32_t CMAprogram::m_pipe_i1_mask0_readout {0}
private

Definition at line 42 of file CMAprogram.h.

◆ m_pipe_i1_mask0_trig

uint32_t CMAprogram::m_pipe_i1_mask0_trig {0}
private

Definition at line 43 of file CMAprogram.h.

◆ m_pipe_i1_shape

uint32_t CMAprogram::m_pipe_i1_shape {0x07070707}
private

Definition at line 41 of file CMAprogram.h.

◆ m_pipe_j0_edge

uint64_t CMAprogram::m_pipe_j0_edge {0x0707070707070707}
private

Definition at line 49 of file CMAprogram.h.

◆ m_pipe_j0_ipb_regdepth

uint32_t CMAprogram::m_pipe_j0_ipb_regdepth {0x01010101}
private

Definition at line 45 of file CMAprogram.h.

◆ m_pipe_j0_mask0_in

uint64_t CMAprogram::m_pipe_j0_mask0_in {0}
private

Definition at line 48 of file CMAprogram.h.

◆ m_pipe_j0_mask0_readout

uint64_t CMAprogram::m_pipe_j0_mask0_readout {0}
private

Definition at line 51 of file CMAprogram.h.

◆ m_pipe_j0_mask0_trig

uint64_t CMAprogram::m_pipe_j0_mask0_trig {0}
private

Definition at line 52 of file CMAprogram.h.

◆ m_pipe_j0_shape

uint64_t CMAprogram::m_pipe_j0_shape {0x0707070707070707}
private

Definition at line 50 of file CMAprogram.h.

◆ m_pipe_j1_edge

uint64_t CMAprogram::m_pipe_j1_edge {0}
private

Definition at line 55 of file CMAprogram.h.

◆ m_pipe_j1_ipb_regdepth

uint32_t CMAprogram::m_pipe_j1_ipb_regdepth {0x01010101}
private

Definition at line 46 of file CMAprogram.h.

◆ m_pipe_j1_mask0_in

uint64_t CMAprogram::m_pipe_j1_mask0_in {0}
private

Definition at line 54 of file CMAprogram.h.

◆ m_pipe_j1_mask0_readout

uint64_t CMAprogram::m_pipe_j1_mask0_readout {0}
private

Definition at line 57 of file CMAprogram.h.

◆ m_pipe_j1_mask0_trig

uint64_t CMAprogram::m_pipe_j1_mask0_trig {0}
private

Definition at line 58 of file CMAprogram.h.

◆ m_pipe_j1_shape

uint64_t CMAprogram::m_pipe_j1_shape {0x0707070707070707}
private

Definition at line 56 of file CMAprogram.h.

◆ m_program_bytes

uint32_t CMAprogram::m_program_bytes[3][CMAparameters::pivot_channels][2] {}
private

Definition at line 107 of file CMAprogram.h.

◆ m_readout_buffer_almost_empty

uint16_t CMAprogram::m_readout_buffer_almost_empty {0}
private

Definition at line 81 of file CMAprogram.h.

◆ m_readout_buffer_almost_full

uint16_t CMAprogram::m_readout_buffer_almost_full {0}
private

Definition at line 83 of file CMAprogram.h.

◆ m_readout_buffer_empty

uint16_t CMAprogram::m_readout_buffer_empty {0}
private

Definition at line 80 of file CMAprogram.h.

◆ m_readout_buffer_full

uint16_t CMAprogram::m_readout_buffer_full {0}
private

Definition at line 84 of file CMAprogram.h.

◆ m_readout_buffer_half_full

uint16_t CMAprogram::m_readout_buffer_half_full {0}
private

Definition at line 82 of file CMAprogram.h.

◆ m_readout_buffer_hireg

uint8_t CMAprogram::m_readout_buffer_hireg {0x67}
private

Definition at line 99 of file CMAprogram.h.

◆ m_readout_buffer_latreg

uint8_t CMAprogram::m_readout_buffer_latreg {0x67}
private

Definition at line 98 of file CMAprogram.h.

◆ m_readout_buffer_lowreg

uint8_t CMAprogram::m_readout_buffer_lowreg {0x60}
private

Definition at line 100 of file CMAprogram.h.

◆ m_readout_serializer_dslink

uint8_t CMAprogram::m_readout_serializer_dslink {0x1}
private

Definition at line 101 of file CMAprogram.h.

◆ m_status

bool CMAprogram::m_status {false}
private

Definition at line 16 of file CMAprogram.h.

◆ m_threshold_registers

bool CMAprogram::m_threshold_registers[3][CMAparameters::pivot_channels][CMAparameters::confirm_channels] {}
private

Definition at line 106 of file CMAprogram.h.

◆ m_trig_declu_i0_clsize

uint8_t CMAprogram::m_trig_declu_i0_clsize {0x2}
private

Definition at line 86 of file CMAprogram.h.

◆ m_trig_declu_i1_clsize

uint8_t CMAprogram::m_trig_declu_i1_clsize {0x2}
private

Definition at line 87 of file CMAprogram.h.

◆ m_trig_declu_j0_clsize

uint8_t CMAprogram::m_trig_declu_j0_clsize {0x2}
private

Definition at line 88 of file CMAprogram.h.

◆ m_trig_declu_j1_clsize

uint8_t CMAprogram::m_trig_declu_j1_clsize {0x2}
private

Definition at line 89 of file CMAprogram.h.

◆ m_trig_edge_reg

uint64_t CMAprogram::m_trig_edge_reg {0x070707070707}
private

Definition at line 75 of file CMAprogram.h.

◆ m_trig_k_readout

uint32_t CMAprogram::m_trig_k_readout {0}
private

Definition at line 28 of file CMAprogram.h.

◆ m_trig_local_direc_i

uint32_t CMAprogram::m_trig_local_direc_i {0x1}
private

Definition at line 26 of file CMAprogram.h.

◆ m_trig_local_direc_j

uint32_t CMAprogram::m_trig_local_direc_j {0x1}
private

Definition at line 27 of file CMAprogram.h.

◆ m_trig_ovl_dx_reg

uint32_t CMAprogram::m_trig_ovl_dx_reg {0x000000ff}
private

Definition at line 78 of file CMAprogram.h.

◆ m_trig_ovl_sx_reg

uint32_t CMAprogram::m_trig_ovl_sx_reg {0xff000000}
private

Definition at line 77 of file CMAprogram.h.

◆ m_trig_prp_i_eta_reg

uint8_t CMAprogram::m_trig_prp_i_eta_reg {0x1}
private

Definition at line 91 of file CMAprogram.h.

◆ m_trig_prp_j_eta_reg

uint8_t CMAprogram::m_trig_prp_j_eta_reg {0x1}
private

Definition at line 92 of file CMAprogram.h.

◆ m_trig_shape_k_reg

uint32_t CMAprogram::m_trig_shape_k_reg {0x07070707}
private

Definition at line 76 of file CMAprogram.h.

◆ m_trig_thr0_maj_reg

uint8_t CMAprogram::m_trig_thr0_maj_reg {0x2}
private

Definition at line 94 of file CMAprogram.h.

◆ m_trig_thr0_mask_1_i_eq2_reg

uint32_t CMAprogram::m_trig_thr0_mask_1_i_eq2_reg {0}
private

Definition at line 61 of file CMAprogram.h.

◆ m_trig_thr0_mask_1_i_ge1_reg

uint32_t CMAprogram::m_trig_thr0_mask_1_i_ge1_reg {0}
private

Definition at line 60 of file CMAprogram.h.

◆ m_trig_thr0_mask_1_j_eq2_reg

uint64_t CMAprogram::m_trig_thr0_mask_1_j_eq2_reg {0}
private

Definition at line 63 of file CMAprogram.h.

◆ m_trig_thr0_mask_1_j_ge1_reg

uint64_t CMAprogram::m_trig_thr0_mask_1_j_ge1_reg {0}
private

Definition at line 62 of file CMAprogram.h.

◆ m_trig_thr1_maj_reg

uint8_t CMAprogram::m_trig_thr1_maj_reg {0x2}
private

Definition at line 95 of file CMAprogram.h.

◆ m_trig_thr1_mask_1_i_eq2_reg

uint32_t CMAprogram::m_trig_thr1_mask_1_i_eq2_reg {0}
private

Definition at line 66 of file CMAprogram.h.

◆ m_trig_thr1_mask_1_i_ge1_reg

uint32_t CMAprogram::m_trig_thr1_mask_1_i_ge1_reg {0}
private

Definition at line 65 of file CMAprogram.h.

◆ m_trig_thr1_mask_1_j_eq2_reg

uint64_t CMAprogram::m_trig_thr1_mask_1_j_eq2_reg {0}
private

Definition at line 68 of file CMAprogram.h.

◆ m_trig_thr1_mask_1_j_ge1_reg

uint64_t CMAprogram::m_trig_thr1_mask_1_j_ge1_reg {0}
private

Definition at line 67 of file CMAprogram.h.

◆ m_trig_thr2_maj_reg

uint8_t CMAprogram::m_trig_thr2_maj_reg {0x2}
private

Definition at line 96 of file CMAprogram.h.

◆ m_trig_thr2_mask_1_i_eq2_reg

uint32_t CMAprogram::m_trig_thr2_mask_1_i_eq2_reg {0}
private

Definition at line 71 of file CMAprogram.h.

◆ m_trig_thr2_mask_1_i_ge1_reg

uint32_t CMAprogram::m_trig_thr2_mask_1_i_ge1_reg {0}
private

Definition at line 70 of file CMAprogram.h.

◆ m_trig_thr2_mask_1_j_eq2_reg

uint64_t CMAprogram::m_trig_thr2_mask_1_j_eq2_reg {0}
private

Definition at line 73 of file CMAprogram.h.

◆ m_trig_thr2_mask_1_j_ge1_reg

uint64_t CMAprogram::m_trig_thr2_mask_1_j_ge1_reg {0}
private

Definition at line 72 of file CMAprogram.h.


The documentation for this class was generated from the following files:
CMAprogram::m_pipe_j1_shape
uint64_t m_pipe_j1_shape
Definition: CMAprogram.h:56
CMAprogram::m_trig_thr1_maj_reg
uint8_t m_trig_thr1_maj_reg
Definition: CMAprogram.h:95
CMAprogram::m_readout_buffer_almost_full
uint16_t m_readout_buffer_almost_full
Definition: CMAprogram.h:83
CMAprogram::m_program_bytes
uint32_t m_program_bytes[3][CMAparameters::pivot_channels][2]
Definition: CMAprogram.h:107
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
CMAprogram::m_trig_thr1_mask_1_i_eq2_reg
uint32_t m_trig_thr1_mask_1_i_eq2_reg
Definition: CMAprogram.h:66
CMAprogram::m_isnewcab
bool m_isnewcab
Definition: CMAprogram.h:15
CMAprogram::m_trig_declu_i1_clsize
uint8_t m_trig_declu_i1_clsize
Definition: CMAprogram.h:87
CMAprogram::m_trig_thr1_mask_1_j_ge1_reg
uint64_t m_trig_thr1_mask_1_j_ge1_reg
Definition: CMAprogram.h:67
CMAprogram::m_readout_buffer_almost_empty
uint16_t m_readout_buffer_almost_empty
Definition: CMAprogram.h:81
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
CMAprogram::m_readout_serializer_dslink
uint8_t m_readout_serializer_dslink
Definition: CMAprogram.h:101
CMAprogram::m_pipe_j0_mask0_trig
uint64_t m_pipe_j0_mask0_trig
Definition: CMAprogram.h:52
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CMAprogram::m_pipe_j0_mask0_in
uint64_t m_pipe_j0_mask0_in
Definition: CMAprogram.h:48
CMAprogram::m_pipe_j0_mask0_readout
uint64_t m_pipe_j0_mask0_readout
Definition: CMAprogram.h:51
CMAprogram::m_pipe_j1_mask0_in
uint64_t m_pipe_j1_mask0_in
Definition: CMAprogram.h:54
Data
@ Data
Definition: BaseObject.h:11
CMAprogram::m_trig_prp_i_eta_reg
uint8_t m_trig_prp_i_eta_reg
Definition: CMAprogram.h:91
CMAprogram::m_overlap2
uint32_t m_overlap2
Definition: CMAprogram.h:24
CMAprogram::m_trig_thr0_mask_1_i_ge1_reg
uint32_t m_trig_thr0_mask_1_i_ge1_reg
Definition: CMAprogram.h:60
CMAprogram::m_trig_local_direc_j
uint32_t m_trig_local_direc_j
Definition: CMAprogram.h:27
xAOD::char
char
Definition: TrigDecision_v1.cxx:38
CMAprogram::m_bcc_pre
uint16_t m_bcc_pre
Definition: CMAprogram.h:104
CMAprogram::m_trig_declu_i0_clsize
uint8_t m_trig_declu_i0_clsize
Definition: CMAprogram.h:86
CMAprogram::m_trig_prp_j_eta_reg
uint8_t m_trig_prp_j_eta_reg
Definition: CMAprogram.h:92
CMAprogram::m_trig_thr2_mask_1_j_eq2_reg
uint64_t m_trig_thr2_mask_1_j_eq2_reg
Definition: CMAprogram.h:73
CMAprogram::m_main_count
uint8_t m_main_count
Definition: CMAprogram.h:18
perfmonmt-printer.dest
dest
Definition: perfmonmt-printer.py:189
CMAprogram::m_trig_thr2_mask_1_i_eq2_reg
uint32_t m_trig_thr2_mask_1_i_eq2_reg
Definition: CMAprogram.h:71
CMAprogram::m_trig_thr2_maj_reg
uint8_t m_trig_thr2_maj_reg
Definition: CMAprogram.h:96
CMAprogram::m_overlap1
uint32_t m_overlap1
Definition: CMAprogram.h:23
CMAprogram::m_pipe_j0_shape
uint64_t m_pipe_j0_shape
Definition: CMAprogram.h:50
CMAprogram::m_trig_declu_j0_clsize
uint8_t m_trig_declu_j0_clsize
Definition: CMAprogram.h:88
CMAprogram::m_pipe_i1_edge
uint32_t m_pipe_i1_edge
Definition: CMAprogram.h:40
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
CMAprogram::m_pipe_i0_mask0_readout
uint32_t m_pipe_i0_mask0_readout
Definition: CMAprogram.h:36
CMAprogram::m_pipe_i0_ipb_regdepth
uint16_t m_pipe_i0_ipb_regdepth
Definition: CMAprogram.h:30
CMAparameters::confirm_channels
static constexpr int confirm_channels
Definition: CMAparameters.h:70
CMAprogram::m_trig_thr0_mask_1_j_ge1_reg
uint64_t m_trig_thr0_mask_1_j_ge1_reg
Definition: CMAprogram.h:62
CMAprogram::m_pipe_i0_mask0_trig
uint32_t m_pipe_i0_mask0_trig
Definition: CMAprogram.h:37
DiTauMassTools::ignore
void ignore(T &&)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:54
CMAprogram::m_pipe_j0_edge
uint64_t m_pipe_j0_edge
Definition: CMAprogram.h:49
CMAprogram::m_trig_thr2_mask_1_i_ge1_reg
uint32_t m_trig_thr2_mask_1_i_ge1_reg
Definition: CMAprogram.h:70
CMAprogram::CMAprogram
CMAprogram()
Definition: CMAprogram.cxx:9
python.TriggerHandler.th
th
Definition: TriggerHandler.py:296
CMAprogram::m_trig_shape_k_reg
uint32_t m_trig_shape_k_reg
Definition: CMAprogram.h:76
lumiFormat.i
int i
Definition: lumiFormat.py:92
CMAprogram::m_pipe_i1_mask0_trig
uint32_t m_pipe_i1_mask0_trig
Definition: CMAprogram.h:43
CMAprogram::m_status
bool m_status
Definition: CMAprogram.h:16
CMAprogram::m_main_control
uint32_t m_main_control
Definition: CMAprogram.h:21
CMAprogram::m_trig_ovl_sx_reg
uint32_t m_trig_ovl_sx_reg
Definition: CMAprogram.h:77
CMAprogram::m_trig_k_readout
uint32_t m_trig_k_readout
Definition: CMAprogram.h:28
CMAprogram::m_trig_thr2_mask_1_j_ge1_reg
uint64_t m_trig_thr2_mask_1_j_ge1_reg
Definition: CMAprogram.h:72
CMAprogram::m_pipe_i1_shape
uint32_t m_pipe_i1_shape
Definition: CMAprogram.h:41
CMAprogram::m_trig_thr0_maj_reg
uint8_t m_trig_thr0_maj_reg
Definition: CMAprogram.h:94
file
TFile * file
Definition: tile_monitor.h:29
CMAprogram::m_pipe_j1_mask0_readout
uint64_t m_pipe_j1_mask0_readout
Definition: CMAprogram.h:57
CMAprogram::m_trig_edge_reg
uint64_t m_trig_edge_reg
Definition: CMAprogram.h:75
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
CMAprogram::m_pipe_i0_shape
uint32_t m_pipe_i0_shape
Definition: CMAprogram.h:35
CMAprogram::m_trig_declu_j1_clsize
uint8_t m_trig_declu_j1_clsize
Definition: CMAprogram.h:89
CMAprogram::m_threshold_registers
bool m_threshold_registers[3][CMAparameters::pivot_channels][CMAparameters::confirm_channels]
Definition: CMAprogram.h:106
CMAprogram::read_v02
bool read_v02(DBline &)
Definition: CMAprogram.cxx:37
CMAprogram::m_trig_local_direc_i
uint32_t m_trig_local_direc_i
Definition: CMAprogram.h:26
CMAprogram::m_trig_thr1_mask_1_j_eq2_reg
uint64_t m_trig_thr1_mask_1_j_eq2_reg
Definition: CMAprogram.h:68
CMAprogram::m_pipe_i0_edge
uint32_t m_pipe_i0_edge
Definition: CMAprogram.h:34
CMAprogram::m_readout_buffer_latreg
uint8_t m_readout_buffer_latreg
Definition: CMAprogram.h:98
CMAprogram::m_pipe_i1_ipb_regdepth
uint16_t m_pipe_i1_ipb_regdepth
Definition: CMAprogram.h:31
CMAprogram::m_pipe_j1_mask0_trig
uint64_t m_pipe_j1_mask0_trig
Definition: CMAprogram.h:58
CMAprogram::m_trig_ovl_dx_reg
uint32_t m_trig_ovl_dx_reg
Definition: CMAprogram.h:78
DBline
Definition: dbline.h:255
CMAprogram::m_pipe_i1_mask0_in
uint32_t m_pipe_i1_mask0_in
Definition: CMAprogram.h:39
CMAprogram::m_pipe_i1_mask0_readout
uint32_t m_pipe_i1_mask0_readout
Definition: CMAprogram.h:42
CMAprogram::m_pipe_j1_ipb_regdepth
uint32_t m_pipe_j1_ipb_regdepth
Definition: CMAprogram.h:46
CMAprogram::m_pipe_j0_ipb_regdepth
uint32_t m_pipe_j0_ipb_regdepth
Definition: CMAprogram.h:45
CMAparameters::pivot_channels
static constexpr int pivot_channels
Definition: CMAparameters.h:69
CMAprogram::m_readout_buffer_half_full
uint16_t m_readout_buffer_half_full
Definition: CMAprogram.h:82
CMAprogram::m_trig_thr0_mask_1_j_eq2_reg
uint64_t m_trig_thr0_mask_1_j_eq2_reg
Definition: CMAprogram.h:63
CMAprogram::m_trig_thr0_mask_1_i_eq2_reg
uint32_t m_trig_thr0_mask_1_i_eq2_reg
Definition: CMAprogram.h:61
CMAprogram::m_pipe_j1_edge
uint64_t m_pipe_j1_edge
Definition: CMAprogram.h:55
checkFileSG.words
words
Definition: checkFileSG.py:76
CMAprogram::m_readout_buffer_full
uint16_t m_readout_buffer_full
Definition: CMAprogram.h:84
CMAprogram::m_l1c_pre
uint16_t m_l1c_pre
Definition: CMAprogram.h:103
CMAprogram::m_pipe_i0_mask0_in
uint32_t m_pipe_i0_mask0_in
Definition: CMAprogram.h:33
CMAprogram::m_trig_thr1_mask_1_i_ge1_reg
uint32_t m_trig_thr1_mask_1_i_ge1_reg
Definition: CMAprogram.h:65
CMAprogram::m_readout_buffer_empty
uint16_t m_readout_buffer_empty
Definition: CMAprogram.h:80
CMAprogram::m_readout_buffer_lowreg
uint8_t m_readout_buffer_lowreg
Definition: CMAprogram.h:100
CMAprogram::m_readout_buffer_hireg
uint8_t m_readout_buffer_hireg
Definition: CMAprogram.h:99
CMAprogram::m_main_status
uint8_t m_main_status
Definition: CMAprogram.h:19