12 unsigned int TrigConf::CTPFiles::ALL_CTPCORELUT_SIZE = 0;
13 unsigned int TrigConf::CTPFiles::ALL_CTPCORECAM_SIZE = 0;
14 unsigned int TrigConf::CTPFiles::ALL_CTPINMONSEL_SIZE = 0;
15 unsigned int TrigConf::CTPFiles::ALL_CTPINMONDEC_SIZE = 0;
16 unsigned int TrigConf::CTPFiles::CTPMON_MUX_OUTPUT_NUMBER = 0;
17 unsigned int TrigConf::CTPFiles::CTPMON_ADDRESS_SELECTOR_NUMBER = 0;
18 unsigned int TrigConf::CTPFiles::ALL_CTPMONSELECTOR_SIZE = 0;
19 unsigned int TrigConf::CTPFiles::ALL_CTPMONDECODER_SIZE = 0;
24 m_Lvl1MasterTableId(0),
26 m_LoadCtpcoreFiles(true),
27 m_LoadCtpinFiles(true),
28 m_LoadCtpmonFiles(true)
34 ALL_CTPCORELUT_SIZE = 49664;
35 ALL_CTPCORECAM_SIZE = 8192;
37 ALL_CTPINMONSEL_SIZE = 124;
38 ALL_CTPINMONDEC_SIZE = 4096;
40 CTPMON_MUX_OUTPUT_NUMBER = 9;
41 CTPMON_ADDRESS_SELECTOR_NUMBER = 24;
42 ALL_CTPMONSELECTOR_SIZE = CTPMON_MUX_OUTPUT_NUMBER * CTPMON_ADDRESS_SELECTOR_NUMBER;
43 ALL_CTPMONDECODER_SIZE = 6656;
46 ALL_CTPCORELUT_SIZE = 725248;
47 ALL_CTPCORECAM_SIZE = 55296;
49 ALL_CTPINMONSEL_SIZE = 124;
50 ALL_CTPINMONDEC_SIZE = 4096;
52 CTPMON_MUX_OUTPUT_NUMBER = 9;
53 CTPMON_ADDRESS_SELECTOR_NUMBER = 24;
54 ALL_CTPMONSELECTOR_SIZE = CTPMON_MUX_OUTPUT_NUMBER * CTPMON_ADDRESS_SELECTOR_NUMBER;
55 ALL_CTPMONDECODER_SIZE = 6656;
61 const std::vector<uint32_t> &
69 if(
vec.size() != ALL_CTPCORELUT_SIZE)
70 throw std::runtime_error(
"CTPFiles: LUT size incorrect" );
74 const std::vector<uint32_t> &
81 if(
vec.size() != ALL_CTPCORECAM_SIZE)
82 throw std::runtime_error(
"CTPFiles: CAM size incorrect" );
87 const std::vector<uint32_t> &
89 return m_ctpinMonSelectorSlot7;
94 if(
vec.size() != ALL_CTPINMONSEL_SIZE)
95 throw std::runtime_error(
"CTPFiles: MonSel size slot 7 incorrect" );
96 m_ctpinMonSelectorSlot7 =
vec;
99 const std::vector<uint32_t> &
101 return m_ctpinMonSelectorSlot8;
106 if(
vec.size() != ALL_CTPINMONSEL_SIZE)
107 throw std::runtime_error(
"CTPFiles: MonSel size slot 8 incorrect" );
108 m_ctpinMonSelectorSlot8 =
vec;
112 const std::vector<uint32_t> &
114 return m_ctpinMonSelectorSlot9;
119 if(
vec.size() != ALL_CTPINMONSEL_SIZE)
120 throw std::runtime_error(
"CTPFiles: MonSel size slot 9 incorrect" );
121 m_ctpinMonSelectorSlot9 =
vec;
125 const std::vector<uint32_t> &
127 return m_ctpmonSelector;
133 if(
vec.size() != ALL_CTPMONSELECTOR_SIZE)
134 throw std::runtime_error(
"CTPFiles: CTPMON Selector size incorrect" );
135 m_ctpmonSelector =
vec;
139 const std::vector<uint32_t> &
141 return m_ctpinMonDecoderSlot7;
145 if(
vec.size() != ALL_CTPINMONDEC_SIZE)
146 throw std::runtime_error(
"CTPFiles: MonSel size slot 7 incorrect" );
147 m_ctpinMonDecoderSlot7 =
vec;
150 const std::vector<uint32_t> &
152 return m_ctpinMonDecoderSlot8;
157 if(
vec.size() != ALL_CTPINMONDEC_SIZE)
158 throw std::runtime_error(
"CTPFiles: MonSel size slot 8 incorrect" );
159 m_ctpinMonDecoderSlot8 =
vec;
163 const std::vector<uint32_t> &
165 return m_ctpinMonDecoderSlot9;
170 if(
vec.size() != ALL_CTPINMONDEC_SIZE)
171 throw std::runtime_error(
"CTPFiles: MonSel size slot 9 incorrect" );
172 m_ctpinMonDecoderSlot9 =
vec;
175 const std::vector<uint32_t> &
177 return m_ctpmonDecoder;
183 if(
vec.size() != ALL_CTPMONDECODER_SIZE)
184 throw std::runtime_error(
"CTPFiles: CTPMON Decoder size incorrect" );
185 m_ctpmonDecoder =
vec;
192 cout <<
indent <<
"CTPFiles: " << endl;
193 cout <<
indent <<
"id:\t\t\t" <<
id() << endl;
194 cout <<
indent <<
"Name: \t\t\t" <<
name() << endl;
196 cout <<
indent <<
"Print the LUT" << endl;
198 for (
unsigned int i=0;
i<(ALL_CTPCORELUT_SIZE);
i++)
199 cout <<
indent <<
i <<
"\t:t0x" << setw(8) << setfill(
'0')
200 << hex << m_ctpcoreLUT[
i] << dec << endl;
202 cout <<
indent <<
"Print the CAM" << endl;
203 for (
unsigned int i=0;
i<(ALL_CTPCORECAM_SIZE);
i++)
204 cout <<
indent <<
i <<
"\t:\t0x" << setw(8) << setfill(
'0')
205 << hex << m_ctpcoreCAM[
i] << dec << endl;
207 cout <<
indent <<
"Print the CTPIN mon decoders slot 7" << endl;
208 for (
unsigned int i=0;
i<(ALL_CTPINMONDEC_SIZE);
i++)
209 cout <<
indent <<
i <<
"\t:\t0x" << setw(8) << setfill(
'0')
210 << hex << m_ctpinMonDecoderSlot7[
i] << dec << endl;
211 cout <<
indent <<
"Print the CTPIN mon decoders slot 8" << endl;
212 for (
unsigned int i=0;
i<(ALL_CTPINMONDEC_SIZE);
i++)
213 cout <<
indent <<
i <<
"\t:\t0x" << setw(8) << setfill(
'0')
214 << hex << m_ctpinMonDecoderSlot8[
i] << dec << endl;
215 cout <<
indent <<
"Print the CTPIN mon decoders slot 9" << endl;
216 for (
unsigned int i=0;
i<(ALL_CTPINMONDEC_SIZE);
i++)
217 cout <<
indent <<
i <<
"\t:\t0x" << setw(8) << setfill(
'0')
218 << hex << m_ctpinMonDecoderSlot9[
i] << dec << endl;
220 cout <<
indent <<
"Print the CTPIN mon selectors slot 7" << endl;
221 for (
unsigned int i=0;
i<(ALL_CTPINMONSEL_SIZE);
i++)
222 cout <<
indent <<
i <<
"\t:\t0x" << setw(8) << setfill(
'0')
223 << hex << m_ctpinMonSelectorSlot7[
i] << dec << endl;
224 cout <<
indent <<
"Print the CTPIN mon selectors slot 8" << endl;
225 for (
unsigned int i=0;
i<(ALL_CTPINMONSEL_SIZE);
i++)
226 cout <<
indent <<
i <<
"\t:\t0x" << setw(8) << setfill(
'0')
227 << hex << m_ctpinMonSelectorSlot8[
i] << dec << endl;
228 cout <<
indent <<
"Print the CTPIN mon selectors slot 9" << endl;
229 for (
unsigned int i=0;
i<(ALL_CTPINMONSEL_SIZE);
i++)
230 cout <<
indent <<
i <<
"\t:\t0x" << setw(8) << setfill(
'0')
231 << hex << m_ctpinMonSelectorSlot9[
i] << dec << endl;
233 cout <<
indent <<
"Print the CTPMON selector" << endl;
234 for (
unsigned int i=0;
i < ALL_CTPMONSELECTOR_SIZE;
i++)
235 cout <<
indent <<
i <<
"\t:\t" << setw(2) << setfill(
' ')
236 << m_ctpmonSelector[
i] << endl;
237 cout <<
indent <<
"Print the CTPMON decoder" << endl;
238 for (
unsigned int i=0;
i < ALL_CTPMONDECODER_SIZE;
i++)
239 cout <<
indent <<
i <<
"\t:\t0x" << setw(8) << setfill(
'0')
240 << hex << m_ctpmonDecoder[
i] << dec << endl;
242 cout <<
indent <<
"SMX no " << m_smxId <<
" '" << m_smxName <<
"'" << endl;
243 cout <<
indent <<
"VHDL slot 7 : " << endl;
244 cout << m_ctpinSmxVhdlSlot7 << endl;
245 cout <<
indent <<
"VHDL slot 8 : " << endl;
246 cout << m_ctpinSmxVhdlSlot8 << endl;
247 cout <<
indent <<
"VHDL slot 9 : " << endl;
248 cout << m_ctpinSmxVhdlSlot9 << endl;
250 cout <<
indent <<
"SVFI slot 7 : " << endl;
251 cout << m_ctpinSmxSvfiSlot7 << endl;
252 cout <<
indent <<
"SVFI slot 8 : " << endl;
253 cout << m_ctpinSmxSvfiSlot8 << endl;
254 cout <<
indent <<
"SVFI slot 9 : " << endl;
255 cout << m_ctpinSmxSvfiSlot9 << endl;
257 cout <<
indent <<
"SMX Output file: " << endl;
258 cout << m_ctpinSmxOutput << endl;