ATLAS Offline Software
Loading...
Searching...
No Matches
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 &stream, const CMAprogram &program)

Detailed Description

Definition at line 15 of file CMAprogram.h.

Constructor & Destructor Documentation

◆ CMAprogram() [1/4]

CMAprogram::CMAprogram ( )

Definition at line 35 of file CMAprogram.cxx.

35 {
36
37 // initialize multi-dimensional arrays:
38 std::fill_n(reinterpret_cast<uint32_t*>(m_program_bytes),
40 0xffffffff);
41
42 std::fill_n(reinterpret_cast<bool*>(m_threshold_registers),
44 true);
45}
static constexpr int confirm_channels
static constexpr int pivot_channels
bool m_threshold_registers[3][CMAparameters::pivot_channels][CMAparameters::confirm_channels]
Definition CMAprogram.h:110
uint32_t m_program_bytes[3][CMAparameters::pivot_channels][2]
Definition CMAprogram.h:111
setEventNumber uint32_t

◆ CMAprogram() [2/4]

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

Definition at line 47 of file CMAprogram.cxx.

47 :
48 CMAprogram() {
49
50 m_isnewcab = NewCab;
51 DBline data(file);
53}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
bool m_status
Definition CMAprogram.h:20
bool read_v02(DBline &)
bool m_isnewcab
Definition CMAprogram.h:19
TFile * file

◆ CMAprogram() [3/4]

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

Definition at line 55 of file CMAprogram.cxx.

55 :
56 CMAprogram() {
57
58 m_isnewcab = NewCab;
59 DBline data(filestr);
61}

◆ CMAprogram() [4/4]

CMAprogram::CMAprogram ( const CMAprogram & )
default

Member Function Documentation

◆ bcc_pre()

uint16_t CMAprogram::bcc_pre ( void ) const
inline

Definition at line 291 of file CMAprogram.h.

291{ return m_bcc_pre; }
uint16_t m_bcc_pre
Definition CMAprogram.h:108

◆ bytes()

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

Definition at line 124 of file CMAprogram.h.

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

◆ check()

bool CMAprogram::check ( void ) const
inline

Definition at line 126 of file CMAprogram.h.

126{ return m_status; }

◆ copy_over()

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

Definition at line 249 of file CMAprogram.cxx.

249 {
250 if (source >= 3 || dest >= 3) return;
251 if (source == dest) return;
252
253 for (int ch = 0; ch < CMAparameters::pivot_channels; ++ch) {
256
257 for (int bit = 0; bit < 32; ++bit) {
260 }
261 }
262}
constexpr unsigned int bit(int n)

◆ hasProgrammed()

bool CMAprogram::hasProgrammed ( unsigned int th) const

Definition at line 264 of file CMAprogram.cxx.

264 {
265 if (th >= 3) return false;
266 for (int ch = 0; ch < CMAparameters::pivot_channels; ++ch) {
267 if (m_program_bytes[th][ch][1] != 0x0) return true;
268 if (m_program_bytes[th][ch][0] != 0x0) return true;
269 }
270 return false;
271}

◆ k_readout()

uint32_t CMAprogram::k_readout ( void ) const
inline

Definition at line 131 of file CMAprogram.h.

131{ return m_trig_k_readout; }
uint32_t m_trig_k_readout
Definition CMAprogram.h:32

◆ l1c_pre()

uint16_t CMAprogram::l1c_pre ( void ) const
inline

Definition at line 290 of file CMAprogram.h.

290{ return m_l1c_pre; }
uint16_t m_l1c_pre
Definition CMAprogram.h:107

◆ local_direc_i()

uint32_t CMAprogram::local_direc_i ( void ) const
inline

Definition at line 129 of file CMAprogram.h.

129{ return m_trig_local_direc_i; }
uint32_t m_trig_local_direc_i
Definition CMAprogram.h:30

◆ local_direc_j()

uint32_t CMAprogram::local_direc_j ( void ) const
inline

Definition at line 130 of file CMAprogram.h.

130{ return m_trig_local_direc_j; }
uint32_t m_trig_local_direc_j
Definition CMAprogram.h:31

◆ main_control()

uint32_t CMAprogram::main_control ( void ) const
inline

Definition at line 217 of file CMAprogram.h.

217{ return m_main_control; }
uint32_t m_main_control
Definition CMAprogram.h:25

◆ main_count()

uint8_t CMAprogram::main_count ( void ) const
inline

Definition at line 218 of file CMAprogram.h.

218{ return m_main_count; }
uint8_t m_main_count
Definition CMAprogram.h:22

◆ main_status()

uint8_t CMAprogram::main_status ( void ) const
inline

Definition at line 219 of file CMAprogram.h.

219{ return m_main_status; }
uint8_t m_main_status
Definition CMAprogram.h:23

◆ open_threshold()

void CMAprogram::open_threshold ( int th)

Definition at line 236 of file CMAprogram.cxx.

236 {
237 if (th >= 3) return;
238 for (int ch = 0; ch < CMAparameters::pivot_channels; ++ch) {
239 m_program_bytes[th][ch][1] = 0xffffffff;
240 m_program_bytes[th][ch][0] = 0xffffffff;
241
242 for (int bit = 0; bit < 32; ++bit) {
243 m_threshold_registers[th][ch][bit] = true;
244 m_threshold_registers[th][ch][bit + 32] = true;
245 }
246 }
247}

◆ operator=()

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

◆ overlap1()

uint32_t CMAprogram::overlap1 ( void ) const
inline

Definition at line 127 of file CMAprogram.h.

127{ return m_overlap1; }
uint32_t m_overlap1
Definition CMAprogram.h:27

◆ overlap2()

uint32_t CMAprogram::overlap2 ( void ) const
inline

Definition at line 128 of file CMAprogram.h.

128{ return m_overlap2; }
uint32_t m_overlap2
Definition CMAprogram.h:28

◆ pipe_i0_edge()

uint32_t CMAprogram::pipe_i0_edge ( void ) const
inline

Definition at line 222 of file CMAprogram.h.

222{ return m_pipe_i0_edge; }
uint32_t m_pipe_i0_edge
Definition CMAprogram.h:38

◆ pipe_i0_ipb_regdepth()

uint16_t CMAprogram::pipe_i0_ipb_regdepth ( void ) const
inline

Definition at line 223 of file CMAprogram.h.

223{ return m_pipe_i0_ipb_regdepth; }
uint16_t m_pipe_i0_ipb_regdepth
Definition CMAprogram.h:34

◆ pipe_i0_mask0_in()

uint32_t CMAprogram::pipe_i0_mask0_in ( void ) const
inline

Definition at line 221 of file CMAprogram.h.

221{ return m_pipe_i0_mask0_in; }
uint32_t m_pipe_i0_mask0_in
Definition CMAprogram.h:37

◆ pipe_i0_mask0_readout()

uint32_t CMAprogram::pipe_i0_mask0_readout ( void ) const
inline

Definition at line 225 of file CMAprogram.h.

225{ return m_pipe_i0_mask0_readout; }
uint32_t m_pipe_i0_mask0_readout
Definition CMAprogram.h:40

◆ pipe_i0_mask0_trig()

uint32_t CMAprogram::pipe_i0_mask0_trig ( void ) const
inline

Definition at line 226 of file CMAprogram.h.

226{ return m_pipe_i0_mask0_trig; }
uint32_t m_pipe_i0_mask0_trig
Definition CMAprogram.h:41

◆ pipe_i0_shape()

uint32_t CMAprogram::pipe_i0_shape ( void ) const
inline

Definition at line 224 of file CMAprogram.h.

224{ return m_pipe_i0_shape; }
uint32_t m_pipe_i0_shape
Definition CMAprogram.h:39

◆ pipe_i1_edge()

uint32_t CMAprogram::pipe_i1_edge ( void ) const
inline

Definition at line 229 of file CMAprogram.h.

229{ return m_pipe_i1_edge; }
uint32_t m_pipe_i1_edge
Definition CMAprogram.h:44

◆ pipe_i1_ipb_regdepth()

uint16_t CMAprogram::pipe_i1_ipb_regdepth ( void ) const
inline

Definition at line 230 of file CMAprogram.h.

230{ return m_pipe_i1_ipb_regdepth; }
uint16_t m_pipe_i1_ipb_regdepth
Definition CMAprogram.h:35

◆ pipe_i1_mask0_in()

uint32_t CMAprogram::pipe_i1_mask0_in ( void ) const
inline

Definition at line 228 of file CMAprogram.h.

228{ return m_pipe_i1_mask0_in; }
uint32_t m_pipe_i1_mask0_in
Definition CMAprogram.h:43

◆ pipe_i1_mask0_readout()

uint32_t CMAprogram::pipe_i1_mask0_readout ( void ) const
inline

Definition at line 232 of file CMAprogram.h.

232{ return m_pipe_i1_mask0_readout; }
uint32_t m_pipe_i1_mask0_readout
Definition CMAprogram.h:46

◆ pipe_i1_mask0_trig()

uint32_t CMAprogram::pipe_i1_mask0_trig ( void ) const
inline

Definition at line 233 of file CMAprogram.h.

233{ return m_pipe_i1_mask0_trig; }
uint32_t m_pipe_i1_mask0_trig
Definition CMAprogram.h:47

◆ pipe_i1_shape()

uint32_t CMAprogram::pipe_i1_shape ( void ) const
inline

Definition at line 231 of file CMAprogram.h.

231{ return m_pipe_i1_shape; }
uint32_t m_pipe_i1_shape
Definition CMAprogram.h:45

◆ pipe_j0_edge()

uint64_t CMAprogram::pipe_j0_edge ( void ) const
inline

Definition at line 236 of file CMAprogram.h.

236{ return m_pipe_j0_edge; }
uint64_t m_pipe_j0_edge
Definition CMAprogram.h:53

◆ pipe_j0_ipb_regdepth()

uint32_t CMAprogram::pipe_j0_ipb_regdepth ( void ) const
inline

Definition at line 237 of file CMAprogram.h.

237{ return m_pipe_j0_ipb_regdepth; }
uint32_t m_pipe_j0_ipb_regdepth
Definition CMAprogram.h:49

◆ pipe_j0_mask0_in()

uint64_t CMAprogram::pipe_j0_mask0_in ( void ) const
inline

Definition at line 235 of file CMAprogram.h.

235{ return m_pipe_j0_mask0_in; }
uint64_t m_pipe_j0_mask0_in
Definition CMAprogram.h:52

◆ pipe_j0_mask0_readout()

uint64_t CMAprogram::pipe_j0_mask0_readout ( void ) const
inline

Definition at line 239 of file CMAprogram.h.

239{ return m_pipe_j0_mask0_readout; }
uint64_t m_pipe_j0_mask0_readout
Definition CMAprogram.h:55

◆ pipe_j0_mask0_trig()

uint64_t CMAprogram::pipe_j0_mask0_trig ( void ) const
inline

Definition at line 240 of file CMAprogram.h.

240{ return m_pipe_j0_mask0_trig; }
uint64_t m_pipe_j0_mask0_trig
Definition CMAprogram.h:56

◆ pipe_j0_shape()

uint64_t CMAprogram::pipe_j0_shape ( void ) const
inline

Definition at line 238 of file CMAprogram.h.

238{ return m_pipe_j0_shape; }
uint64_t m_pipe_j0_shape
Definition CMAprogram.h:54

◆ pipe_j1_edge()

uint64_t CMAprogram::pipe_j1_edge ( void ) const
inline

Definition at line 243 of file CMAprogram.h.

243{ return m_pipe_j1_edge; }
uint64_t m_pipe_j1_edge
Definition CMAprogram.h:59

◆ pipe_j1_ipb_regdepth()

uint32_t CMAprogram::pipe_j1_ipb_regdepth ( void ) const
inline

Definition at line 244 of file CMAprogram.h.

244{ return m_pipe_j1_ipb_regdepth; }
uint32_t m_pipe_j1_ipb_regdepth
Definition CMAprogram.h:50

◆ pipe_j1_mask0_in()

uint64_t CMAprogram::pipe_j1_mask0_in ( void ) const
inline

Definition at line 242 of file CMAprogram.h.

242{ return m_pipe_j1_mask0_in; }
uint64_t m_pipe_j1_mask0_in
Definition CMAprogram.h:58

◆ pipe_j1_mask0_readout()

uint64_t CMAprogram::pipe_j1_mask0_readout ( void ) const
inline

Definition at line 246 of file CMAprogram.h.

246{ return m_pipe_j1_mask0_readout; }
uint64_t m_pipe_j1_mask0_readout
Definition CMAprogram.h:61

◆ pipe_j1_mask0_trig()

uint64_t CMAprogram::pipe_j1_mask0_trig ( void ) const
inline

Definition at line 247 of file CMAprogram.h.

247{ return m_pipe_j1_mask0_trig; }
uint64_t m_pipe_j1_mask0_trig
Definition CMAprogram.h:62

◆ pipe_j1_shape()

uint64_t CMAprogram::pipe_j1_shape ( void ) const
inline

Definition at line 245 of file CMAprogram.h.

245{ return m_pipe_j1_shape; }
uint64_t m_pipe_j1_shape
Definition CMAprogram.h:60

◆ read_v02()

bool CMAprogram::read_v02 ( DBline & data)
private

Definition at line 63 of file CMAprogram.cxx.

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

◆ readout_buffer_almost_empty()

uint16_t CMAprogram::readout_buffer_almost_empty ( void ) const
inline

Definition at line 281 of file CMAprogram.h.

◆ readout_buffer_almost_full()

uint16_t CMAprogram::readout_buffer_almost_full ( void ) const
inline

Definition at line 283 of file CMAprogram.h.

◆ readout_buffer_empty()

uint16_t CMAprogram::readout_buffer_empty ( void ) const
inline

Definition at line 280 of file CMAprogram.h.

280{ return m_readout_buffer_empty; }

◆ readout_buffer_full()

uint16_t CMAprogram::readout_buffer_full ( void ) const
inline

Definition at line 284 of file CMAprogram.h.

284{ return m_readout_buffer_full; }

◆ readout_buffer_half_full()

uint16_t CMAprogram::readout_buffer_half_full ( void ) const
inline

Definition at line 282 of file CMAprogram.h.

◆ readout_buffer_hireg()

uint8_t CMAprogram::readout_buffer_hireg ( void ) const
inline

Definition at line 286 of file CMAprogram.h.

286{ return m_readout_buffer_hireg; }

◆ readout_buffer_latreg()

uint8_t CMAprogram::readout_buffer_latreg ( void ) const
inline

Definition at line 285 of file CMAprogram.h.

285{ return m_readout_buffer_latreg; }

◆ readout_buffer_lowreg()

uint8_t CMAprogram::readout_buffer_lowreg ( void ) const
inline

Definition at line 287 of file CMAprogram.h.

287{ return m_readout_buffer_lowreg; }

◆ readout_serializer_dslink()

uint8_t CMAprogram::readout_serializer_dslink ( void ) const
inline

Definition at line 288 of file CMAprogram.h.

◆ registers()

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

Definition at line 123 of file CMAprogram.h.

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

◆ trig_declu_i0_clsize()

uint8_t CMAprogram::trig_declu_i0_clsize ( void ) const
inline

Definition at line 267 of file CMAprogram.h.

267{ return m_trig_declu_i0_clsize; }

◆ trig_declu_i1_clsize()

uint8_t CMAprogram::trig_declu_i1_clsize ( void ) const
inline

Definition at line 268 of file CMAprogram.h.

268{ return m_trig_declu_i1_clsize; }

◆ trig_declu_j0_clsize()

uint8_t CMAprogram::trig_declu_j0_clsize ( void ) const
inline

Definition at line 269 of file CMAprogram.h.

269{ return m_trig_declu_j0_clsize; }

◆ trig_declu_j1_clsize()

uint8_t CMAprogram::trig_declu_j1_clsize ( void ) const
inline

Definition at line 270 of file CMAprogram.h.

270{ return m_trig_declu_j1_clsize; }

◆ trig_edge_reg()

uint64_t CMAprogram::trig_edge_reg ( void ) const
inline

Definition at line 278 of file CMAprogram.h.

278{ return m_trig_edge_reg; }

◆ trig_ovl_dx_reg()

uint32_t CMAprogram::trig_ovl_dx_reg ( void ) const
inline

Definition at line 277 of file CMAprogram.h.

277{ return m_trig_ovl_dx_reg; }
uint32_t m_trig_ovl_dx_reg
Definition CMAprogram.h:82

◆ trig_ovl_sx_reg()

uint32_t CMAprogram::trig_ovl_sx_reg ( void ) const
inline

Definition at line 276 of file CMAprogram.h.

276{ return m_trig_ovl_sx_reg; }
uint32_t m_trig_ovl_sx_reg
Definition CMAprogram.h:81

◆ trig_prp_i_eta_reg()

uint8_t CMAprogram::trig_prp_i_eta_reg ( void ) const
inline

Definition at line 272 of file CMAprogram.h.

272{ return m_trig_prp_i_eta_reg; }
uint8_t m_trig_prp_i_eta_reg
Definition CMAprogram.h:95

◆ trig_prp_j_eta_reg()

uint8_t CMAprogram::trig_prp_j_eta_reg ( void ) const
inline

Definition at line 273 of file CMAprogram.h.

273{ return m_trig_prp_j_eta_reg; }
uint8_t m_trig_prp_j_eta_reg
Definition CMAprogram.h:96

◆ trig_shape_k_reg()

uint32_t CMAprogram::trig_shape_k_reg ( void ) const
inline

Definition at line 275 of file CMAprogram.h.

275{ return m_trig_shape_k_reg; }

◆ trig_thr0_maj_reg()

uint8_t CMAprogram::trig_thr0_maj_reg ( void ) const
inline

Definition at line 249 of file CMAprogram.h.

249{ return m_trig_thr0_maj_reg; }

◆ trig_thr0_mask_1_i_eq2_reg()

uint32_t CMAprogram::trig_thr0_mask_1_i_eq2_reg ( void ) const
inline

Definition at line 251 of file CMAprogram.h.

◆ trig_thr0_mask_1_i_ge1_reg()

uint32_t CMAprogram::trig_thr0_mask_1_i_ge1_reg ( void ) const
inline

Definition at line 250 of file CMAprogram.h.

◆ trig_thr0_mask_1_j_eq2_reg()

uint64_t CMAprogram::trig_thr0_mask_1_j_eq2_reg ( void ) const
inline

Definition at line 253 of file CMAprogram.h.

◆ trig_thr0_mask_1_j_ge1_reg()

uint64_t CMAprogram::trig_thr0_mask_1_j_ge1_reg ( void ) const
inline

Definition at line 252 of file CMAprogram.h.

◆ trig_thr1_maj_reg()

uint8_t CMAprogram::trig_thr1_maj_reg ( void ) const
inline

Definition at line 255 of file CMAprogram.h.

255{ return m_trig_thr1_maj_reg; }

◆ trig_thr1_mask_1_i_eq2_reg()

uint32_t CMAprogram::trig_thr1_mask_1_i_eq2_reg ( void ) const
inline

Definition at line 257 of file CMAprogram.h.

◆ trig_thr1_mask_1_i_ge1_reg()

uint32_t CMAprogram::trig_thr1_mask_1_i_ge1_reg ( void ) const
inline

Definition at line 256 of file CMAprogram.h.

◆ trig_thr1_mask_1_j_eq2_reg()

uint64_t CMAprogram::trig_thr1_mask_1_j_eq2_reg ( void ) const
inline

Definition at line 259 of file CMAprogram.h.

◆ trig_thr1_mask_1_j_ge1_reg()

uint64_t CMAprogram::trig_thr1_mask_1_j_ge1_reg ( void ) const
inline

Definition at line 258 of file CMAprogram.h.

◆ trig_thr2_maj_reg()

uint8_t CMAprogram::trig_thr2_maj_reg ( void ) const
inline

Definition at line 261 of file CMAprogram.h.

261{ return m_trig_thr2_maj_reg; }

◆ trig_thr2_mask_1_i_eq2_reg()

uint32_t CMAprogram::trig_thr2_mask_1_i_eq2_reg ( void ) const
inline

Definition at line 263 of file CMAprogram.h.

◆ trig_thr2_mask_1_i_ge1_reg()

uint32_t CMAprogram::trig_thr2_mask_1_i_ge1_reg ( void ) const
inline

Definition at line 262 of file CMAprogram.h.

◆ trig_thr2_mask_1_j_eq2_reg()

uint64_t CMAprogram::trig_thr2_mask_1_j_eq2_reg ( void ) const
inline

Definition at line 265 of file CMAprogram.h.

◆ trig_thr2_mask_1_j_ge1_reg()

uint64_t CMAprogram::trig_thr2_mask_1_j_ge1_reg ( void ) const
inline

Definition at line 264 of file CMAprogram.h.

◆ operator<<

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

Definition at line 273 of file CMAprogram.cxx.

273 {
274 unsigned int no_coincidence = 183;
275
276 for (int piv = CMAparameters::pivot_channels - 1; piv >= 0; --piv) {
277 for (int con = 0; con < CMAparameters::confirm_channels; ++con) {
278 for (int th = 2; th >= 0; --th) {
279 if (program.m_threshold_registers[th][piv][con]) {
280 stream << th + 1;
281 break;
282 }
283 if (th == 0) stream << (char)no_coincidence;
284 }
285 }
286 stream << std::endl;
287 }
288 return stream;
289}

Member Data Documentation

◆ m_bcc_pre

uint16_t CMAprogram::m_bcc_pre {0}
private

Definition at line 108 of file CMAprogram.h.

108{0};

◆ m_isnewcab

bool CMAprogram::m_isnewcab {false}
private

Definition at line 19 of file CMAprogram.h.

19{false};

◆ m_l1c_pre

uint16_t CMAprogram::m_l1c_pre {0x1ff}
private

Definition at line 107 of file CMAprogram.h.

107{0x1ff};

◆ m_main_control

uint32_t CMAprogram::m_main_control {0x60}
private

Definition at line 25 of file CMAprogram.h.

25{0x60};

◆ m_main_count

uint8_t CMAprogram::m_main_count {0}
private

Definition at line 22 of file CMAprogram.h.

22{0};

◆ m_main_status

uint8_t CMAprogram::m_main_status {0}
private

Definition at line 23 of file CMAprogram.h.

23{0};

◆ m_overlap1

uint32_t CMAprogram::m_overlap1 {0xff}
private

Definition at line 27 of file CMAprogram.h.

27{0xff};

◆ m_overlap2

uint32_t CMAprogram::m_overlap2 {0xff000000}
private

Definition at line 28 of file CMAprogram.h.

28{0xff000000};

◆ m_pipe_i0_edge

uint32_t CMAprogram::m_pipe_i0_edge {0x07070707}
private

Definition at line 38 of file CMAprogram.h.

38{0x07070707};

◆ m_pipe_i0_ipb_regdepth

uint16_t CMAprogram::m_pipe_i0_ipb_regdepth {0x0101}
private

Definition at line 34 of file CMAprogram.h.

34{0x0101};

◆ m_pipe_i0_mask0_in

uint32_t CMAprogram::m_pipe_i0_mask0_in {0}
private

Definition at line 37 of file CMAprogram.h.

37{0};

◆ m_pipe_i0_mask0_readout

uint32_t CMAprogram::m_pipe_i0_mask0_readout {0}
private

Definition at line 40 of file CMAprogram.h.

40{0};

◆ m_pipe_i0_mask0_trig

uint32_t CMAprogram::m_pipe_i0_mask0_trig {0}
private

Definition at line 41 of file CMAprogram.h.

41{0};

◆ m_pipe_i0_shape

uint32_t CMAprogram::m_pipe_i0_shape {0x07070707}
private

Definition at line 39 of file CMAprogram.h.

39{0x07070707};

◆ m_pipe_i1_edge

uint32_t CMAprogram::m_pipe_i1_edge {0x07070707}
private

Definition at line 44 of file CMAprogram.h.

44{0x07070707};

◆ m_pipe_i1_ipb_regdepth

uint16_t CMAprogram::m_pipe_i1_ipb_regdepth {0x0101}
private

Definition at line 35 of file CMAprogram.h.

35{0x0101};

◆ m_pipe_i1_mask0_in

uint32_t CMAprogram::m_pipe_i1_mask0_in {0}
private

Definition at line 43 of file CMAprogram.h.

43{0};

◆ m_pipe_i1_mask0_readout

uint32_t CMAprogram::m_pipe_i1_mask0_readout {0}
private

Definition at line 46 of file CMAprogram.h.

46{0};

◆ m_pipe_i1_mask0_trig

uint32_t CMAprogram::m_pipe_i1_mask0_trig {0}
private

Definition at line 47 of file CMAprogram.h.

47{0};

◆ m_pipe_i1_shape

uint32_t CMAprogram::m_pipe_i1_shape {0x07070707}
private

Definition at line 45 of file CMAprogram.h.

45{0x07070707};

◆ m_pipe_j0_edge

uint64_t CMAprogram::m_pipe_j0_edge {0x0707070707070707}
private

Definition at line 53 of file CMAprogram.h.

53{0x0707070707070707};

◆ m_pipe_j0_ipb_regdepth

uint32_t CMAprogram::m_pipe_j0_ipb_regdepth {0x01010101}
private

Definition at line 49 of file CMAprogram.h.

49{0x01010101};

◆ m_pipe_j0_mask0_in

uint64_t CMAprogram::m_pipe_j0_mask0_in {0}
private

Definition at line 52 of file CMAprogram.h.

52{0};

◆ m_pipe_j0_mask0_readout

uint64_t CMAprogram::m_pipe_j0_mask0_readout {0}
private

Definition at line 55 of file CMAprogram.h.

55{0};

◆ m_pipe_j0_mask0_trig

uint64_t CMAprogram::m_pipe_j0_mask0_trig {0}
private

Definition at line 56 of file CMAprogram.h.

56{0};

◆ m_pipe_j0_shape

uint64_t CMAprogram::m_pipe_j0_shape {0x0707070707070707}
private

Definition at line 54 of file CMAprogram.h.

54{0x0707070707070707};

◆ m_pipe_j1_edge

uint64_t CMAprogram::m_pipe_j1_edge {0}
private

Definition at line 59 of file CMAprogram.h.

59{0};

◆ m_pipe_j1_ipb_regdepth

uint32_t CMAprogram::m_pipe_j1_ipb_regdepth {0x01010101}
private

Definition at line 50 of file CMAprogram.h.

50{0x01010101};

◆ m_pipe_j1_mask0_in

uint64_t CMAprogram::m_pipe_j1_mask0_in {0}
private

Definition at line 58 of file CMAprogram.h.

58{0};

◆ m_pipe_j1_mask0_readout

uint64_t CMAprogram::m_pipe_j1_mask0_readout {0}
private

Definition at line 61 of file CMAprogram.h.

61{0};

◆ m_pipe_j1_mask0_trig

uint64_t CMAprogram::m_pipe_j1_mask0_trig {0}
private

Definition at line 62 of file CMAprogram.h.

62{0};

◆ m_pipe_j1_shape

uint64_t CMAprogram::m_pipe_j1_shape {0x0707070707070707}
private

Definition at line 60 of file CMAprogram.h.

60{0x0707070707070707};

◆ m_program_bytes

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

Definition at line 111 of file CMAprogram.h.

111{};

◆ m_readout_buffer_almost_empty

uint16_t CMAprogram::m_readout_buffer_almost_empty {0}
private

Definition at line 85 of file CMAprogram.h.

85{0};

◆ m_readout_buffer_almost_full

uint16_t CMAprogram::m_readout_buffer_almost_full {0}
private

Definition at line 87 of file CMAprogram.h.

87{0};

◆ m_readout_buffer_empty

uint16_t CMAprogram::m_readout_buffer_empty {0}
private

Definition at line 84 of file CMAprogram.h.

84{0};

◆ m_readout_buffer_full

uint16_t CMAprogram::m_readout_buffer_full {0}
private

Definition at line 88 of file CMAprogram.h.

88{0};

◆ m_readout_buffer_half_full

uint16_t CMAprogram::m_readout_buffer_half_full {0}
private

Definition at line 86 of file CMAprogram.h.

86{0};

◆ m_readout_buffer_hireg

uint8_t CMAprogram::m_readout_buffer_hireg {0x67}
private

Definition at line 103 of file CMAprogram.h.

103{0x67};

◆ m_readout_buffer_latreg

uint8_t CMAprogram::m_readout_buffer_latreg {0x67}
private

Definition at line 102 of file CMAprogram.h.

102{0x67};

◆ m_readout_buffer_lowreg

uint8_t CMAprogram::m_readout_buffer_lowreg {0x60}
private

Definition at line 104 of file CMAprogram.h.

104{0x60};

◆ m_readout_serializer_dslink

uint8_t CMAprogram::m_readout_serializer_dslink {0x1}
private

Definition at line 105 of file CMAprogram.h.

105{0x1};

◆ m_status

bool CMAprogram::m_status {false}
private

Definition at line 20 of file CMAprogram.h.

20{false};

◆ m_threshold_registers

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

Definition at line 110 of file CMAprogram.h.

110{};

◆ m_trig_declu_i0_clsize

uint8_t CMAprogram::m_trig_declu_i0_clsize {0x2}
private

Definition at line 90 of file CMAprogram.h.

90{0x2};

◆ m_trig_declu_i1_clsize

uint8_t CMAprogram::m_trig_declu_i1_clsize {0x2}
private

Definition at line 91 of file CMAprogram.h.

91{0x2};

◆ m_trig_declu_j0_clsize

uint8_t CMAprogram::m_trig_declu_j0_clsize {0x2}
private

Definition at line 92 of file CMAprogram.h.

92{0x2};

◆ m_trig_declu_j1_clsize

uint8_t CMAprogram::m_trig_declu_j1_clsize {0x2}
private

Definition at line 93 of file CMAprogram.h.

93{0x2};

◆ m_trig_edge_reg

uint64_t CMAprogram::m_trig_edge_reg {0x070707070707}
private

Definition at line 79 of file CMAprogram.h.

79{0x070707070707};

◆ m_trig_k_readout

uint32_t CMAprogram::m_trig_k_readout {0}
private

Definition at line 32 of file CMAprogram.h.

32{0};

◆ m_trig_local_direc_i

uint32_t CMAprogram::m_trig_local_direc_i {0x1}
private

Definition at line 30 of file CMAprogram.h.

30{0x1};

◆ m_trig_local_direc_j

uint32_t CMAprogram::m_trig_local_direc_j {0x1}
private

Definition at line 31 of file CMAprogram.h.

31{0x1};

◆ m_trig_ovl_dx_reg

uint32_t CMAprogram::m_trig_ovl_dx_reg {0x000000ff}
private

Definition at line 82 of file CMAprogram.h.

82{0x000000ff};

◆ m_trig_ovl_sx_reg

uint32_t CMAprogram::m_trig_ovl_sx_reg {0xff000000}
private

Definition at line 81 of file CMAprogram.h.

81{0xff000000};

◆ m_trig_prp_i_eta_reg

uint8_t CMAprogram::m_trig_prp_i_eta_reg {0x1}
private

Definition at line 95 of file CMAprogram.h.

95{0x1};

◆ m_trig_prp_j_eta_reg

uint8_t CMAprogram::m_trig_prp_j_eta_reg {0x1}
private

Definition at line 96 of file CMAprogram.h.

96{0x1};

◆ m_trig_shape_k_reg

uint32_t CMAprogram::m_trig_shape_k_reg {0x07070707}
private

Definition at line 80 of file CMAprogram.h.

80{0x07070707};

◆ m_trig_thr0_maj_reg

uint8_t CMAprogram::m_trig_thr0_maj_reg {0x2}
private

Definition at line 98 of file CMAprogram.h.

98{0x2};

◆ m_trig_thr0_mask_1_i_eq2_reg

uint32_t CMAprogram::m_trig_thr0_mask_1_i_eq2_reg {0}
private

Definition at line 65 of file CMAprogram.h.

65{0};

◆ m_trig_thr0_mask_1_i_ge1_reg

uint32_t CMAprogram::m_trig_thr0_mask_1_i_ge1_reg {0}
private

Definition at line 64 of file CMAprogram.h.

64{0};

◆ m_trig_thr0_mask_1_j_eq2_reg

uint64_t CMAprogram::m_trig_thr0_mask_1_j_eq2_reg {0}
private

Definition at line 67 of file CMAprogram.h.

67{0};

◆ m_trig_thr0_mask_1_j_ge1_reg

uint64_t CMAprogram::m_trig_thr0_mask_1_j_ge1_reg {0}
private

Definition at line 66 of file CMAprogram.h.

66{0};

◆ m_trig_thr1_maj_reg

uint8_t CMAprogram::m_trig_thr1_maj_reg {0x2}
private

Definition at line 99 of file CMAprogram.h.

99{0x2};

◆ m_trig_thr1_mask_1_i_eq2_reg

uint32_t CMAprogram::m_trig_thr1_mask_1_i_eq2_reg {0}
private

Definition at line 70 of file CMAprogram.h.

70{0};

◆ m_trig_thr1_mask_1_i_ge1_reg

uint32_t CMAprogram::m_trig_thr1_mask_1_i_ge1_reg {0}
private

Definition at line 69 of file CMAprogram.h.

69{0};

◆ m_trig_thr1_mask_1_j_eq2_reg

uint64_t CMAprogram::m_trig_thr1_mask_1_j_eq2_reg {0}
private

Definition at line 72 of file CMAprogram.h.

72{0};

◆ m_trig_thr1_mask_1_j_ge1_reg

uint64_t CMAprogram::m_trig_thr1_mask_1_j_ge1_reg {0}
private

Definition at line 71 of file CMAprogram.h.

71{0};

◆ m_trig_thr2_maj_reg

uint8_t CMAprogram::m_trig_thr2_maj_reg {0x2}
private

Definition at line 100 of file CMAprogram.h.

100{0x2};

◆ m_trig_thr2_mask_1_i_eq2_reg

uint32_t CMAprogram::m_trig_thr2_mask_1_i_eq2_reg {0}
private

Definition at line 75 of file CMAprogram.h.

75{0};

◆ m_trig_thr2_mask_1_i_ge1_reg

uint32_t CMAprogram::m_trig_thr2_mask_1_i_ge1_reg {0}
private

Definition at line 74 of file CMAprogram.h.

74{0};

◆ m_trig_thr2_mask_1_j_eq2_reg

uint64_t CMAprogram::m_trig_thr2_mask_1_j_eq2_reg {0}
private

Definition at line 77 of file CMAprogram.h.

77{0};

◆ m_trig_thr2_mask_1_j_ge1_reg

uint64_t CMAprogram::m_trig_thr2_mask_1_j_ge1_reg {0}
private

Definition at line 76 of file CMAprogram.h.

76{0};

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