|
ATLAS Offline Software
|
#include <OddPhiCMA.h>
|
| OddPhiCMA (const parseParams &parse) |
|
| OddPhiCMA (const OddPhiCMA &) |
|
virtual | ~OddPhiCMA () |
|
OddPhiCMA & | operator= (const OddPhiCMA &) |
|
const WORlink & | pivot_WORs (void) const |
|
const WORlink & | lowPt_WORs (void) const |
|
const WORlink & | highPt_WORs (void) const |
|
bool | inversion (void) const |
|
bool | setup (SectorLogicSetup &, MsgStream &) |
|
bool | operator== (const CMAparameters &) const |
|
bool | operator== (const CMAidentity &) const |
|
CMAparameters & | operator+= (const CMAparameters &) |
|
const CMAidentity & | id () const |
|
const CMAprogram * | lowPt_program () const |
|
const CMAprogram * | highPt_program () const |
|
int | pivot_start_ch () const |
|
int | pivot_start_st () const |
|
int | pivot_stop_ch () const |
|
int | pivot_stop_st () const |
|
int | lowPt_start_co () const |
|
int | lowPt_stop_co () const |
|
int | lowPt_number_co () const |
|
int | highPt_start_co () const |
|
int | highPt_stop_co () const |
|
int | highPt_number_co () const |
|
int | lowPt_start_st () const |
|
int | lowPt_start_ch () const |
|
int | lowPt_stop_st () const |
|
int | lowPt_stop_ch () const |
|
int | highPt_start_st () const |
|
int | highPt_start_ch () const |
|
int | highPt_stop_st () const |
|
int | highPt_stop_ch () const |
|
int | active_pivot_chs () const |
|
int | active_lowPt_chs () const |
|
int | active_highPt_chs () const |
|
int | pivot_station () const |
|
int | lowPt_station () const |
|
int | highPt_station () const |
|
int | pivot_rpc_read () const |
|
int | lowPt_rpc_read () const |
|
int | highPt_rpc_read () const |
|
unsigned int | first_pivot_code () const |
|
unsigned int | last_pivot_code () const |
|
unsigned int | first_lowPt_code () const |
|
unsigned int | last_lowPt_code () const |
|
unsigned int | first_highPt_code () const |
|
unsigned int | last_highPt_code () const |
|
CMAconfiguration | conf_type () const |
|
unsigned int | first_pivot_channel () const |
|
unsigned int | last_pivot_channel () const |
|
unsigned int | first_lowPt_channel () const |
|
unsigned int | last_lowPt_channel () const |
|
unsigned int | first_highPt_channel () const |
|
unsigned int | last_highPt_channel () const |
|
virtual void | Print (std::ostream &, bool) const override |
|
void | Print (std::ostream &, bool, int layer) const |
|
bool | isAtlas () const |
|
bool | give_connection (int, int, CMAinput &, int &, int &) const |
|
bool | get_channel (CMAinput, int, int &, int &) const |
|
bool | get_cabling (CMAinput, int, int, int, unsigned int &) const |
|
const CMAparameters * | test (CMAinput, int) const |
|
CMAinput | whichCMAinput (int) const |
|
int | whichCMAstation (CMAinput input) const |
|
bool | correct (L1RPCcabCorrection type, CMAinput it, unsigned int layer, unsigned short int Ch1, unsigned short int Ch2, short int num) const |
|
void | give_strip_code (unsigned int logic_sector, unsigned short int lh, unsigned short int ijk, unsigned short int Channel, std::list< unsigned int > &StripCodes) const |
|
int | number () const |
|
int | station () const |
|
int | sector_type () const |
|
std::string | error_header () const |
|
std::string | no_connection_error (const std::string &, int) const |
|
ObjectType | tag () const |
|
const std::string & | name () const |
|
Definition at line 20 of file OddPhiCMA.h.
◆ CMAlist
◆ WORlink
◆ CMAconfiguration
◆ OddPhiCMA() [1/2]
◆ OddPhiCMA() [2/2]
◆ ~OddPhiCMA()
OddPhiCMA::~OddPhiCMA |
( |
| ) |
|
|
virtualdefault |
◆ active_highPt_chs()
int CMAparameters::active_highPt_chs |
( |
| ) |
const |
|
inherited |
◆ active_lowPt_chs()
int CMAparameters::active_lowPt_chs |
( |
| ) |
const |
|
inherited |
◆ active_pivot_chs()
int CMAparameters::active_pivot_chs |
( |
| ) |
const |
|
inherited |
◆ cable_CMA_channels()
bool OddPhiCMA::cable_CMA_channels |
( |
void |
| ) |
|
|
private |
Definition at line 67 of file OddPhiCMA.cxx.
72 throw std::runtime_error(
"Channel not found in OddPhiCMA::cable_CMA_channels");
83 int first_ch_cabled = 32;
84 int last_ch_cabled = -1;
86 std::vector<int> multiplicity(max_st);
92 int local_strip = max_st - (max_st -
start);
93 int final_strip = max_st - (max_st -
stop);
100 if (chs <= first_ch_cabled) first_ch_cabled = chs;
107 if (local_strip > 0 && local_strip <= rpc_st) {
109 m_pivot[
i][0][chs] = cham * 100 + local_strip - 1;
110 m_pivot[
i][1][chs] = 10000 + cham * 100 + local_strip - 1;
112 m_pivot[
i][1][chs] = cham * 100 + local_strip - 1;
113 m_pivot[
i][0][chs] = 10000 + cham * 100 + local_strip - 1;
115 multiplicity[local_strip - 1] = 1;
118 }
while (--local_strip >= final_strip);
120 if (chs - 1 >= last_ch_cabled) last_ch_cabled = chs - 1;
134 std::ostringstream disp;
135 disp <<
"OddPhiCMA::cable_CMA_channels - out of bound array indices! Values:"
136 << first_ch_cabled <<
", " << last_ch_cabled
137 <<
" at " << __FILE__ <<
":" << __LINE__ ;
138 throw std::runtime_error(disp.str());
143 if (
m_pivot[
ch][0][last_ch_cabled] >= 0)
break;
149 if (
m_pivot[
ch][0][first_ch_cabled] >= 0)
break;
158 throw std::runtime_error(
"Channel not found in OddPhiCMA::cable_CMA_channels");
169 int first_ch_cabled = 64;
170 int last_ch_cabled = -1;
177 throw std::runtime_error(
"Channel not found in OddPhiCMA::cable_CMA_channels");
179 WiredOR* wor = (*found).second;
187 int local_strip = max_st - (max_st -
start);
188 int final_strip = max_st - (max_st -
stop);
190 int chs = (
id().
Ixx_index() == 0) ? 40 - max_st / 2 : 0;
194 if (
E ==
'E' &&
id().Ixx_index() == 1) {
200 if (
E ==
'E' &&
id().Ixx_index() == 0) {
207 if (chs <= first_ch_cabled) first_ch_cabled = chs;
213 if (local_strip > 0 && local_strip <= rpc_st) {
215 m_lowPt[
r][0][chs] = cham * 100 + local_strip - 1;
216 m_lowPt[
r][1][chs] = 10000 + cham * 100 + local_strip - 1;
218 m_lowPt[
r][1][chs] = cham * 100 + local_strip - 1;
219 m_lowPt[
r][0][chs] = 10000 + cham * 100 + local_strip - 1;
222 multiplicity[local_strip - 1] = 1;
224 multiplicity[local_strip - 1 + (max_st - rpc_st)] = 1;
228 }
while (--local_strip >= final_strip);
231 if (chs - 1 >= last_ch_cabled) last_ch_cabled = chs - 1;
240 if (last_ch_cabled < 0) {
241 throw std::runtime_error(std::string(
"RPC_CondCabling: OddPhiCMA - neg. array idx at ") +
246 if (
m_lowPt[
ch][0][last_ch_cabled] >= 0)
break;
251 if (
m_lowPt[
ch][0][first_ch_cabled] >= 0)
break;
261 throw std::runtime_error(
"Channel not found in OddPhiCMA::cable_CMA_channels");
272 int first_ch_cabled = 64;
273 int last_ch_cabled = -1;
280 throw std::runtime_error(
"Channel not found in OddPhiCMA::cable_CMA_channels");
290 int local_strip = max_st - (max_st -
start);
291 int final_strip = max_st - (max_st -
stop);
293 int chs = (
id().
Ixx_index() == 0) ? 40 - max_st / 2 : 0;
299 if (abs(sEta) == 8 && L ==
'L') isBOE =
true;
300 if (isBOE &&
id().Ixx_index() == 1) {
306 if (isBOE &&
id().Ixx_index() == 0) {
312 if (chs <= first_ch_cabled) first_ch_cabled = chs;
319 bool skipChannel =
false;
320 if (isBOE &&
id().Ixx_index() == 1 && ((chs > 3 && chs < 8) || (chs > 39 && chs < 44))) skipChannel =
true;
321 if (isBOE &&
id().Ixx_index() == 0 && ((chs > 19 && chs < 24) || (chs > 55 && chs < 60))) skipChannel =
true;
325 if (local_strip > 0 && local_strip <= rpc_st) {
327 m_highPt[
r][0][chs] = cham * 100 + local_strip - 1;
328 m_highPt[
r][1][chs] = 10000 + cham * 100 + local_strip - 1;
330 m_highPt[
r][1][chs] = cham * 100 + local_strip - 1;
331 m_highPt[
r][0][chs] = 10000 + cham * 100 + local_strip - 1;
334 multiplicity[local_strip - 1] = 1;
336 multiplicity[local_strip - 1 + (max_st - rpc_st)] = 1;
342 }
while (--local_strip >= final_strip);
345 if (chs - 1 >= last_ch_cabled) last_ch_cabled = chs - 1;
354 if (last_ch_cabled < 0) {
355 throw std::runtime_error(std::string(
"RPC_CondCabling: OddPhiCMA - neg. array idx at ") +
360 if (
m_highPt[
ch][0][last_ch_cabled] >= 0)
break;
365 if (
m_highPt[
ch][0][first_ch_cabled] >= 0)
break;
◆ conf_type()
◆ connect()
Definition at line 374 of file OddPhiCMA.cxx.
390 std::list<const EtaCMA*> CMAs =
setup.find_eta_CMAs_in_PAD(
id().PAD_index());
397 const EtaCMA* cmaFake = CMAs.back();
401 while (
cm != CMAs.end()) {
402 if (!(*cm)->pivot_station() || (*cm)->lowPt_start_ch() == -1)
cm = CMAs.erase(
cm);
406 int start_ch = (CMAs.size()) ? CMAs.front()->lowPt_start_ch() : cmaFake->
lowPt_start_ch();
407 int stop_ch = (CMAs.size()) ? CMAs.back()->lowPt_stop_ch() : cmaFake->
lowPt_stop_ch();
409 if (start_ch != -1 && stop_ch != -1) {
413 if (
start->readoutWORs().empty()) {
417 if (
stop->readoutWORs().empty()) {
443 std::list<const EtaCMA*> CMAs =
setup.find_eta_CMAs_in_PAD(
id().PAD_index());
450 const EtaCMA* cmaFake = CMAs.back();
454 while (
cm != CMAs.end()) {
455 if (!(*cm)->pivot_station() || (*cm)->highPt_start_ch() == -1)
cm = CMAs.erase(
cm);
459 int start_ch = (CMAs.size()) ? CMAs.front()->highPt_start_ch() : cmaFake->
highPt_start_ch();
460 int stop_ch = (CMAs.size()) ? CMAs.back()->highPt_stop_ch() : cmaFake->
highPt_stop_ch();
462 if (start_ch != -1 && stop_ch != -1) {
466 if (
start->readoutWORs().empty()) {
470 if (
stop->readoutWORs().empty()) {
◆ correct()
bool CMAparameters::correct |
( |
L1RPCcabCorrection |
type, |
|
|
CMAinput |
it, |
|
|
unsigned int |
layer, |
|
|
unsigned short int |
Ch1, |
|
|
unsigned short int |
Ch2, |
|
|
short int |
num |
|
) |
| const |
|
inherited |
Definition at line 646 of file CMAparameters.cxx.
648 if (Ch1 > Ch2)
return false;
656 map =
reinterpret_cast<int*
>(
m_pivot);
662 map =
reinterpret_cast<int*
>(
m_lowPt);
668 map =
reinterpret_cast<int*
>(
m_highPt);
673 default:
return false;
680 for (
int i = 0;
i < worlo; ++
i) {
681 for (
unsigned short int j = 0; j <
num / 2; ++j) {
682 int pos1 =
i * 2 * maxch +
layer * maxch + Ch1 + j;
683 int pos2 =
i * 2 * maxch +
layer * maxch + Ch2 - j;
684 int tmp = *(map + pos1);
685 *(map + pos1) = *(map + pos2);
694 if (Ch1 +
num - 1 >= Ch2)
return false;
695 for (
int i = 0;
i < worlo; ++
i) {
696 for (
unsigned short int j = 0; j <
num; ++j) {
697 int pos1 =
i * 2 * maxch +
layer * maxch + Ch1 + j;
698 int pos2 =
i * 2 * maxch +
layer * maxch + Ch2 + j;
699 int tmp = *(map + pos1);
700 *(map + pos1) = *(map + pos2);
710 for (
int i = 0;
i < worlo; ++
i) {
711 for (
unsigned short int j = 0; j <
num; ++j) {
712 int pos =
i * 2 * maxch +
layer * maxch + Ch1 + j;
720 for (
int i = 0;
i < worlo; ++
i) {
721 if (
num / abs(
num) == 1) {
722 unsigned short int piv = Ch1 +
num;
724 for (
unsigned short int j = Ch1; j < piv; ++j) {
725 int pos =
i * 2 * maxch +
layer * maxch + j;
729 for (
unsigned short int j = piv; j <= Ch2; ++j) {
730 int pos =
i * 2 * maxch +
layer * maxch + j;
736 if (
num / abs(
num) == -1) {
737 unsigned short int ch = Ch2;
738 short int piv = Ch2 - abs(
num) + 1;
748 int pos =
i * 2 * maxch +
layer * maxch + piv - 1;
753 }
while (piv >
stop);
759 default:
return false;
◆ create_highPt_map()
void CMAparameters::create_highPt_map |
( |
int |
rpc_to_read | ) |
|
|
protectedinherited |
Definition at line 245 of file CMAparameters.cxx.
248 for (
int i = 0;
i < rpc_to_read; ++
i)
249 for (
int j = 0; j < 2; ++j)
◆ create_lowPt_map()
void CMAparameters::create_lowPt_map |
( |
int |
rpc_to_read | ) |
|
|
protectedinherited |
Definition at line 236 of file CMAparameters.cxx.
239 for (
int i = 0;
i < rpc_to_read; ++
i)
240 for (
int j = 0; j < 2; ++j)
◆ create_pivot_map()
void CMAparameters::create_pivot_map |
( |
int |
rpc_to_read | ) |
|
|
protectedinherited |
Definition at line 227 of file CMAparameters.cxx.
230 for (
int i = 0;
i < rpc_to_read; ++
i)
231 for (
int j = 0; j < 2; ++j)
◆ doInversion()
Definition at line 790 of file OddPhiCMA.cxx.
792 SectorLogicSetup::SECTORlist::const_iterator
it = Sectors.begin();
795 WORlink::const_iterator wor;
799 WiredOR::RPClink::const_iterator link =
Linked.begin();
800 if ((*link).second->inversion(sector)) {
m_inversion =
true; }
806 WiredOR::RPClink::const_iterator link =
Linked.begin();
807 if ((*link).second->inversion(sector)) {
m_inversion =
true; }
813 WiredOR::RPClink::const_iterator link =
Linked.begin();
814 if ((*link).second->inversion(sector)) {
m_inversion =
true; }
◆ error()
std::string CMAparameters::error |
( |
const std::string & |
str | ) |
|
|
protectedinherited |
◆ error_header()
std::string CablingObject::error_header |
( |
| ) |
const |
|
inherited |
Definition at line 22 of file CablingObject.cxx.
23 std::ostringstream disp;
26 disp <<
":" << std::endl;
◆ first_highPt_channel()
unsigned int CMAparameters::first_highPt_channel |
( |
| ) |
const |
|
inherited |
◆ first_highPt_code()
unsigned int CMAparameters::first_highPt_code |
( |
| ) |
const |
|
inherited |
◆ first_lowPt_channel()
unsigned int CMAparameters::first_lowPt_channel |
( |
| ) |
const |
|
inherited |
◆ first_lowPt_code()
unsigned int CMAparameters::first_lowPt_code |
( |
| ) |
const |
|
inherited |
◆ first_pivot_channel()
unsigned int CMAparameters::first_pivot_channel |
( |
| ) |
const |
|
inherited |
◆ first_pivot_code()
unsigned int CMAparameters::first_pivot_code |
( |
| ) |
const |
|
inherited |
◆ get_cabling()
bool CMAparameters::get_cabling |
( |
CMAinput |
IO, |
|
|
int |
WOR, |
|
|
int |
ly, |
|
|
int |
ch, |
|
|
unsigned int & |
code |
|
) |
| const |
|
inherited |
Definition at line 614 of file CMAparameters.cxx.
615 int* strips =
nullptr;
618 if (ly >= 2)
return false;
623 strips =
reinterpret_cast<int*
>(
m_pivot);
627 strips =
reinterpret_cast<int*
>(
m_lowPt);
631 strips =
reinterpret_cast<int*
>(
m_highPt);
639 if (*(strips + position) < 0)
return false;
641 code = *(strips + position);
◆ get_channel()
bool CMAparameters::get_channel |
( |
CMAinput |
IO, |
|
|
int |
cab_code, |
|
|
int & |
ly, |
|
|
int & |
ch |
|
) |
| const |
|
inherited |
Definition at line 583 of file CMAparameters.cxx.
584 int* strips =
nullptr;
591 strips =
reinterpret_cast<int*
>(
m_pivot);
595 strips =
reinterpret_cast<int*
>(
m_lowPt);
599 strips =
reinterpret_cast<int*
>(
m_highPt);
603 for (
int i = 0;
i < nstrips; ++
i) {
604 if (strips[
i] == cab_code) {
◆ get_confirm_strip_boundaries()
void OddPhiCMA::get_confirm_strip_boundaries |
( |
int |
stat, |
|
|
int |
max |
|
) |
| |
|
private |
Definition at line 496 of file OddPhiCMA.cxx.
498 if (
id().Ixx_index() == 0) {
503 if (
id().Ixx_index() == 1) {
510 if (
id().Ixx_index() == 0) {
515 if (
id().Ixx_index() == 1) {
◆ get_max_strip_readout()
int OddPhiCMA::get_max_strip_readout |
( |
int |
stat | ) |
|
|
private |
Definition at line 523 of file OddPhiCMA.cxx.
528 max = (
max > (*it).second->give_max_phi_strips()) ?
max : (*it).second->give_max_phi_strips();
534 max = (
max > (*it).second->give_max_phi_strips()) ?
max : (*it).second->give_max_phi_strips();
540 max = (
max > (*it).second->give_max_phi_strips()) ?
max : (*it).second->give_max_phi_strips();
◆ give_connection()
bool CMAparameters::give_connection |
( |
int |
station, |
|
|
int |
cab_code, |
|
|
CMAinput & |
IO, |
|
|
int & |
ly, |
|
|
int & |
ch |
|
) |
| const |
|
inherited |
◆ give_strip_code()
void CMAparameters::give_strip_code |
( |
unsigned int |
logic_sector, |
|
|
unsigned short int |
lh, |
|
|
unsigned short int |
ijk, |
|
|
unsigned short int |
Channel, |
|
|
std::list< unsigned int > & |
StripCodes |
|
) |
| const |
|
inherited |
Definition at line 765 of file CMAparameters.cxx.
769 if (ijk == 0 || ijk == 1) {
773 int strip_number = CabCode % 100;
774 int rpc_z_index = (CabCode / 100) % 100;
775 int rpc_layer = (CabCode / 10000) % 10;
776 if (deco(this->
id().type(), logic_sector, this->
whichCMAstation(
Pivot), rpc_layer, rpc_z_index, strip_number)) {
777 StripCodes.push_back(deco.
code());
783 if (ijk == 2 || ijk == 3) {
788 int strip_number = CabCode % 100;
789 int rpc_z_index = (CabCode / 100) % 100;
790 int rpc_layer = (CabCode / 10000) % 10;
791 if (deco(this->
id().type(), logic_sector, this->
whichCMAstation(
HighPt), rpc_layer, rpc_z_index, strip_number)) {
792 StripCodes.push_back(deco.
code());
800 int strip_number = CabCode % 100;
801 int rpc_z_index = (CabCode / 100) % 100;
802 int rpc_layer = (CabCode / 10000) % 10;
803 if (deco(this->
id().type(), logic_sector, this->
whichCMAstation(
LowPt), rpc_layer, rpc_z_index, strip_number)) {
804 StripCodes.push_back(deco.
code());
811 if (ijk == 4 || ijk == 5) {
816 int strip_number = CabCode % 100;
817 int rpc_z_index = (CabCode / 100) % 100;
818 int rpc_layer = (CabCode / 10000) % 10;
819 if (deco(this->
id().type(), logic_sector, this->
whichCMAstation(
HighPt), rpc_layer, rpc_z_index, strip_number)) {
820 StripCodes.push_back(deco.
code());
828 int strip_number = CabCode % 100;
829 int rpc_z_index = (CabCode / 100) % 100;
830 int rpc_layer = (CabCode / 10000) % 10;
831 if (deco(this->
id().type(), logic_sector, this->
whichCMAstation(
LowPt), rpc_layer, rpc_z_index, strip_number)) {
832 StripCodes.push_back(deco.
code());
843 int strip_number = CabCode % 100;
844 int rpc_z_index = (CabCode / 100) % 100;
845 int rpc_layer = (CabCode / 10000) % 10;
846 if (deco(this->
id().type(), logic_sector, this->
whichCMAstation(
Pivot), rpc_layer, rpc_z_index, strip_number)) {
847 StripCodes.push_back(deco.
code());
◆ highPt_number_co()
int CMAparameters::highPt_number_co |
( |
| ) |
const |
|
inherited |
◆ highPt_program()
◆ highPt_rpc_read()
int CMAparameters::highPt_rpc_read |
( |
| ) |
const |
|
inherited |
◆ highPt_start_ch()
int CMAparameters::highPt_start_ch |
( |
| ) |
const |
|
inherited |
◆ highPt_start_co()
int CMAparameters::highPt_start_co |
( |
| ) |
const |
|
inherited |
◆ highPt_start_st()
int CMAparameters::highPt_start_st |
( |
| ) |
const |
|
inherited |
◆ highPt_station()
int CMAparameters::highPt_station |
( |
| ) |
const |
|
inherited |
◆ highPt_stop_ch()
int CMAparameters::highPt_stop_ch |
( |
| ) |
const |
|
inherited |
◆ highPt_stop_co()
int CMAparameters::highPt_stop_co |
( |
| ) |
const |
|
inherited |
◆ highPt_stop_st()
int CMAparameters::highPt_stop_st |
( |
| ) |
const |
|
inherited |
◆ highPt_WORs()
◆ id()
◆ inversion()
bool OddPhiCMA::inversion |
( |
void |
| ) |
const |
◆ isAtlas()
bool CMAparameters::isAtlas |
( |
| ) |
const |
|
inherited |
◆ last_highPt_channel()
unsigned int CMAparameters::last_highPt_channel |
( |
| ) |
const |
|
inherited |
◆ last_highPt_code()
unsigned int CMAparameters::last_highPt_code |
( |
| ) |
const |
|
inherited |
◆ last_lowPt_channel()
unsigned int CMAparameters::last_lowPt_channel |
( |
| ) |
const |
|
inherited |
◆ last_lowPt_code()
unsigned int CMAparameters::last_lowPt_code |
( |
| ) |
const |
|
inherited |
◆ last_pivot_channel()
unsigned int CMAparameters::last_pivot_channel |
( |
| ) |
const |
|
inherited |
◆ last_pivot_code()
unsigned int CMAparameters::last_pivot_code |
( |
| ) |
const |
|
inherited |
◆ lowPt_number_co()
int CMAparameters::lowPt_number_co |
( |
| ) |
const |
|
inherited |
◆ lowPt_program()
◆ lowPt_rpc_read()
int CMAparameters::lowPt_rpc_read |
( |
| ) |
const |
|
inherited |
◆ lowPt_start_ch()
int CMAparameters::lowPt_start_ch |
( |
| ) |
const |
|
inherited |
◆ lowPt_start_co()
int CMAparameters::lowPt_start_co |
( |
| ) |
const |
|
inherited |
◆ lowPt_start_st()
int CMAparameters::lowPt_start_st |
( |
| ) |
const |
|
inherited |
◆ lowPt_station()
int CMAparameters::lowPt_station |
( |
| ) |
const |
|
inherited |
◆ lowPt_stop_ch()
int CMAparameters::lowPt_stop_ch |
( |
| ) |
const |
|
inherited |
◆ lowPt_stop_co()
int CMAparameters::lowPt_stop_co |
( |
| ) |
const |
|
inherited |
◆ lowPt_stop_st()
int CMAparameters::lowPt_stop_st |
( |
| ) |
const |
|
inherited |
◆ lowPt_WORs()
◆ name()
const std::string& BaseObject::name |
( |
| ) |
const |
|
inlineinherited |
◆ no_confirm_error()
std::string CMAparameters::no_confirm_error |
( |
int |
stat | ) |
|
|
protectedinherited |
Definition at line 524 of file CMAparameters.cxx.
525 std::ostringstream disp;
530 <<
") for" << std::endl
533 disp <<
"High Pt cabling inconsistence (cabling from connector " <<
m_params.
highPtStartCo <<
" to connector "
◆ no_connection_error()
std::string CablingObject::no_connection_error |
( |
const std::string & |
conn_name, |
|
|
int |
num |
|
) |
| const |
|
inherited |
Definition at line 30 of file CablingObject.cxx.
31 std::ostringstream disp;
32 disp <<
error_header() <<
name() <<
" n. " <<
number() <<
" is supposed to receive input from " << conn_name <<
" n. " <<
num <<
" which doesn't exist!";
◆ no_wor_readout()
std::string CMAparameters::no_wor_readout |
( |
int |
num, |
|
|
int |
stat |
|
) |
| |
|
protectedinherited |
Definition at line 540 of file CMAparameters.cxx.
541 std::ostringstream disp;
544 disp << this->
id() <<
" receives input from" << std::endl
545 <<
" RPC chamber n. " <<
num <<
" of station " <<
stat <<
" which has no Wired OR readout!";
◆ noMoreChannels()
std::string CMAparameters::noMoreChannels |
( |
const std::string & |
stat | ) |
|
|
protectedinherited |
Definition at line 481 of file CMAparameters.cxx.
482 int max_channels = 0;
488 std::ostringstream disp;
489 disp <<
"Error in Sector Type " << this->
sector_type() <<
":" << std::endl
490 << this->
id() <<
" attempted to receive more than " << max_channels <<
" channels for " <<
stat <<
" side";
◆ number()
int CablingObject::number |
( |
| ) |
const |
|
inherited |
◆ operator+=()
◆ operator=()
◆ operator==() [1/2]
◆ operator==() [2/2]
◆ pivot_rpc_read()
int CMAparameters::pivot_rpc_read |
( |
| ) |
const |
|
inherited |
◆ pivot_start_ch()
int CMAparameters::pivot_start_ch |
( |
| ) |
const |
|
inherited |
◆ pivot_start_st()
int CMAparameters::pivot_start_st |
( |
| ) |
const |
|
inherited |
◆ pivot_station()
int CMAparameters::pivot_station |
( |
| ) |
const |
|
inherited |
◆ pivot_stop_ch()
int CMAparameters::pivot_stop_ch |
( |
| ) |
const |
|
inherited |
◆ pivot_stop_st()
int CMAparameters::pivot_stop_st |
( |
| ) |
const |
|
inherited |
◆ pivot_WORs()
◆ Print() [1/2]
void CMAparameters::Print |
( |
std::ostream & |
stream, |
|
|
bool |
detail |
|
) |
| const |
|
overridevirtualinherited |
◆ Print() [2/2]
void CMAparameters::Print |
( |
std::ostream & |
stream, |
|
|
bool |
detail, |
|
|
int |
layer |
|
) |
| const |
|
inherited |
◆ reset_highPt_cabling()
void CMAparameters::reset_highPt_cabling |
( |
| ) |
|
|
privateinherited |
◆ reset_lowPt_cabling()
void CMAparameters::reset_lowPt_cabling |
( |
| ) |
|
|
privateinherited |
◆ reset_pivot_cabling()
void CMAparameters::reset_pivot_cabling |
( |
| ) |
|
|
privateinherited |
◆ sector_type()
int CablingObject::sector_type |
( |
| ) |
const |
|
inherited |
◆ setup()
Definition at line 547 of file OddPhiCMA.cxx.
571 std::string LVL1_configuration_repository;
572 LVL1_configuration_repository =
"ATLAS.121108";
576 SectorLogicSetup::SECTORlist::const_iterator
it = sectors.begin();
579 sprintf(s_tag,
"s%02d", *
it);
582 sprintf(t_tag,
"t%1d",
id().PAD_index());
584 char c_tag[4] = {
'_',
'c',
'0',
'\0'};
585 if (
id().phi_index() == 1) c_tag[2] =
'1';
587 std::ifstream CMAprogLow;
588 std::istringstream CMAprogLow_COOL;
590 for (
int i = 0;
i < 200; ++
i)
name[
i] =
'\0';
593 const std::map<std::string, std::string>* p_trigroads =
setup.GetPtoTrigRoads();
596 if (p_trigroads ==
nullptr) {
597 while (!CMAprogLow.is_open() &&
it != sectors.end()) {
598 std::ostringstream namestr;
599 for (
int i = 0;
i < 200; ++
i)
name[
i] =
'\0';
605 namestr <<
dir <<
"/" << s_tag <<
"_" << t_tag <<
"_pl" << c_tag <<
".txt" << std::ends;
607 namestr.str().copy(
name, namestr.str().length(), 0);
608 name[namestr.str().length()] = 0;
610 CMAprogLow.open(
name);
611 if (!CMAprogLow.is_open()) CMAprogLow.clear();
619 while (CMAprogLow_COOL.str().empty() &&
it != sectors.end()) {
620 std::ostringstream namestr;
621 for (
int i = 0;
i < 200; ++
i)
name[
i] =
'\0';
625 namestr << s_tag <<
"_" << t_tag <<
"_pl" << c_tag <<
".txt" << std::ends;
626 namestr.str().copy(
name, namestr.str().length(), 0);
627 name[namestr.str().length()] = 0;
628 std::map<std::string, std::string>::const_iterator itc;
629 itc = p_trigroads->find(
name);
630 if (itc != p_trigroads->end()) {
632 log <<
MSG::VERBOSE <<
"OddPhiCMA low: key " <<
name <<
"found in the Trigger Road Map --> OK"
633 <<
", OddPhiCMA low: key " << itc->second.c_str() <<
endmsg;
635 CMAprogLow_COOL.str(itc->second.c_str());
645 if (CMAprogLow.is_open()) {
646 std::unique_ptr<CMAprogram> program = std::make_unique<CMAprogram>(CMAprogLow,
true);
647 if (program->
check()) {
649 if (
setup.cosmic()) {
653 for (
unsigned int i = 0;
i < 3; ++
i) {
656 log <<
MSG::DEBUG << s_tag <<
": " <<
id() <<
": low-pt: has threshold " <<
i
657 <<
" not programmed." <<
endmsg;
663 }
else if (!CMAprogLow_COOL.str().empty()) {
664 std::unique_ptr<CMAprogram> program = std::make_unique<CMAprogram>(CMAprogLow_COOL,
true);
665 if (program->
check()) {
667 if (
setup.cosmic()) {
671 for (
unsigned int i = 0;
i < 3; ++
i) {
674 log <<
MSG::DEBUG << s_tag <<
": " <<
id() <<
": low-pt: has threshold " <<
i
675 <<
" not programmed." <<
endmsg;
680 CMAprogLow_COOL.str(
"");
681 }
else if (
name[0] !=
'\0') {
689 std::ifstream CMAprogHigh;
690 std::istringstream CMAprogHigh_COOL;
692 it = sectors.begin();
693 if (p_trigroads ==
nullptr) {
694 while (!CMAprogHigh.is_open() &&
it != sectors.end()) {
695 std::ostringstream namestr;
696 for (
int i = 0;
i < 200; ++
i)
name[
i] =
'\0';
702 namestr <<
dir <<
"/" << s_tag <<
"_" << t_tag <<
"_ph" << c_tag <<
".txt" << std::ends;
704 namestr.str().copy(
name, namestr.str().length(), 0);
705 name[namestr.str().length()] = 0;
707 CMAprogHigh.open(
name);
708 if (!CMAprogHigh.is_open()) CMAprogHigh.clear();
716 while (CMAprogHigh_COOL.str().empty() &&
it != sectors.end()) {
717 std::ostringstream namestr;
718 for (
int i = 0;
i < 200; ++
i)
name[
i] =
'\0';
722 namestr << s_tag <<
"_" << t_tag <<
"_ph" << c_tag <<
".txt" << std::ends;
723 namestr.str().copy(
name, namestr.str().length(), 0);
724 name[namestr.str().length()] = 0;
725 std::map<std::string, std::string>::const_iterator itc;
726 itc = p_trigroads->find(
name);
727 if (itc != p_trigroads->end()) {
729 log <<
MSG::VERBOSE <<
"OddPhiCMA high: key " <<
name <<
"found in the Trigger Road Map --> OK"
730 <<
", OddPhiCMA high: key " << itc->second.c_str() <<
endmsg;
732 CMAprogHigh_COOL.str(itc->second.c_str());
743 if (CMAprogHigh.is_open()) {
744 std::unique_ptr<CMAprogram> program = std::make_unique<CMAprogram>(CMAprogHigh,
true);
745 if (program->
check()) {
747 if (
setup.cosmic()) {
751 for (
unsigned int i = 0;
i < 3; ++
i) {
754 log <<
MSG::DEBUG << s_tag <<
": " <<
id() <<
": high-pt: has threshold " <<
i
755 <<
" not programmed." <<
endmsg;
761 }
else if (!CMAprogHigh_COOL.str().empty()) {
762 std::unique_ptr<CMAprogram> program = std::make_unique<CMAprogram>(CMAprogHigh_COOL,
true);
763 if (program->
check()) {
765 if (
setup.cosmic()) {
769 for (
unsigned int i = 0;
i < 3; ++
i) {
772 log <<
MSG::DEBUG << s_tag <<
": " <<
id() <<
": high-pt: has threshold " <<
i
773 <<
" not programmed." <<
endmsg;
778 CMAprogHigh_COOL.str(
"");
779 }
else if (
name[0] !=
'\0') {
◆ showDt()
void CMAparameters::showDt |
( |
std::ostream & |
stream, |
|
|
int |
layer |
|
) |
| const |
|
privateinherited |
Definition at line 293 of file CMAparameters.cxx.
295 unsigned int finish = 164;
298 stream << std::endl <<
"Low Pt and Hi Pt not yet connected!" << std::endl;
299 for (
int i = 0;
i < 80; ++
i)
stream << (
char)finish;
307 char(*displow)[90] =
new char[
ln][90];
310 stream << std::endl <<
"Low Pt matrix connections:" << std::endl << std::endl;
314 for (
int i = 0;
i <
ln; ++
i)
315 if (displow[
i][0] !=
'\0')
stream << displow[
i] << std::endl;
320 stream << std::endl << std::endl <<
"Hi Pt matrix connections:" << std::endl << std::endl;
324 char(*disphi)[90] =
new char[
ln][90];
329 for (
int i = 0;
i <
ln; ++
i)
330 if (disphi[
i][0] !=
'\0')
stream << disphi[
i] << std::endl;
335 for (
int i = 0;
i < 80; ++
i)
stream << (
char)finish;
◆ showMt()
void CMAparameters::showMt |
( |
char |
display[][90], |
|
|
int |
ln, |
|
|
TrigType |
type, |
|
|
int |
layer |
|
) |
| const |
|
privateinherited |
Definition at line 339 of file CMAparameters.cxx.
341 unsigned int up = 19;
342 unsigned int left = 22;
343 unsigned int right = 25;
344 unsigned int middle = 18;
345 unsigned int down = 24;
354 std::ostringstream** disp =
new std::ostringstream*[
ln];
356 for (
int i = 0;
i <
ln; ++
i) disp[
i] =
new std::ostringstream;
374 int shift = 6 * pivot_loop;
376 for (
int i = 0;
i < shift; ++
i) *disp[0] <<
" ";
381 for (
int j = 0; j < pivot_loop; ++j) {
382 if (j) *disp[
i] <<
"|";
391 (std::ostream&)*disp[
i] << (
char)left;
393 unsigned int no_coincidence =
':';
395 const bool* registers = program->
registers();
400 if (registers[third])
402 else if (registers[
second])
404 else if (registers[
first])
407 (std::ostream&)*disp[
i] << (
char)no_coincidence;
412 (std::ostream&)*disp[
i] << (
char)right;
417 for (
int j = 0; j < shift; ++j) *disp[start_confirm] <<
" ";
418 for (
int i = start_confirm + 1;
i < start_confirm + conf_loop * 6; ++
i)
419 for (
int j = 0; j < shift; ++j) *disp[
i] <<
" ";
423 for (
int i = 0;
i < conf_loop; ++
i) {
424 int start = (
i) ? start_confirm +
i * 6 : start_confirm + 1;
430 for (
int j = 0; j < 5; ++j)
435 (std::ostream&)*disp[
start + j] <<
"*";
439 for (
int i = 0;
i <
ln; ++
i) {
440 std::string
tmp = (*disp[
i]).
str();
◆ station()
int CablingObject::station |
( |
| ) |
const |
|
inherited |
◆ tag()
◆ test()
Definition at line 494 of file CMAparameters.cxx.
495 int* strips =
nullptr;
500 strips =
reinterpret_cast<int*
>(
m_pivot);
503 strips =
reinterpret_cast<int*
>(
m_lowPt);
506 strips =
reinterpret_cast<int*
>(
m_highPt);
510 for (
int i = 0;
i < nstrips; ++
i)
511 if (strips[
i] == cabling_code)
return this;
◆ two_obj_error_message()
std::string CMAparameters::two_obj_error_message |
( |
const std::string & |
msg, |
|
|
CMAparameters * |
cma |
|
) |
| |
|
protectedinherited |
◆ whichCMAinput()
CMAinput CMAparameters::whichCMAinput |
( |
int |
stat | ) |
const |
|
inherited |
◆ whichCMAstation()
int CMAparameters::whichCMAstation |
( |
CMAinput |
input | ) |
const |
|
inherited |
◆ confirm_channels
constexpr int CMAparameters::confirm_channels = 64 |
|
staticconstexprinherited |
◆ m_active_highPt_chs
int CMAparameters::m_active_highPt_chs {0} |
|
protectedinherited |
◆ m_active_lowPt_chs
int CMAparameters::m_active_lowPt_chs {0} |
|
protectedinherited |
◆ m_active_pivot_chs
int CMAparameters::m_active_pivot_chs {0} |
|
protectedinherited |
◆ m_conf_type
◆ m_first_highPt_code
unsigned int CMAparameters::m_first_highPt_code {0} |
|
protectedinherited |
◆ m_first_lowPt_code
unsigned int CMAparameters::m_first_lowPt_code {0} |
|
protectedinherited |
◆ m_first_pivot_code
unsigned int CMAparameters::m_first_pivot_code {0} |
|
protectedinherited |
◆ m_highPt
◆ m_highPt_program
std::unique_ptr<CMAprogram> CMAparameters::m_highPt_program |
|
protectedinherited |
◆ m_highPt_rpc_read
int CMAparameters::m_highPt_rpc_read {0} |
|
protectedinherited |
◆ m_highPt_start_ch
int CMAparameters::m_highPt_start_ch {-1} |
|
protectedinherited |
◆ m_highPt_start_st
int CMAparameters::m_highPt_start_st {-1} |
|
protectedinherited |
◆ m_highPt_stop_ch
int CMAparameters::m_highPt_stop_ch {-1} |
|
protectedinherited |
◆ m_highPt_stop_st
int CMAparameters::m_highPt_stop_st {-1} |
|
protectedinherited |
◆ m_highPt_WORs
WORlink RPC_CondCabling::OddPhiCMA::m_highPt_WORs |
|
private |
◆ m_id
◆ m_inversion
bool RPC_CondCabling::OddPhiCMA::m_inversion {false} |
|
private |
◆ m_last_highPt_code
unsigned int CMAparameters::m_last_highPt_code {0} |
|
protectedinherited |
◆ m_last_lowPt_code
unsigned int CMAparameters::m_last_lowPt_code {0} |
|
protectedinherited |
◆ m_last_pivot_code
unsigned int CMAparameters::m_last_pivot_code {0} |
|
protectedinherited |
◆ m_lowPt
◆ m_lowPt_program
std::unique_ptr<CMAprogram> CMAparameters::m_lowPt_program |
|
protectedinherited |
◆ m_lowPt_rpc_read
int CMAparameters::m_lowPt_rpc_read {0} |
|
protectedinherited |
◆ m_lowPt_start_ch
int CMAparameters::m_lowPt_start_ch {-1} |
|
protectedinherited |
◆ m_lowPt_start_st
int CMAparameters::m_lowPt_start_st {-1} |
|
protectedinherited |
◆ m_lowPt_stop_ch
int CMAparameters::m_lowPt_stop_ch {-1} |
|
protectedinherited |
◆ m_lowPt_stop_st
int CMAparameters::m_lowPt_stop_st {-1} |
|
protectedinherited |
◆ m_lowPt_WORs
WORlink RPC_CondCabling::OddPhiCMA::m_lowPt_WORs |
|
private |
◆ m_name
std::string BaseObject::m_name |
|
privateinherited |
◆ m_number
int CablingObject::m_number {0} |
|
privateinherited |
◆ m_params
◆ m_pivot
◆ m_pivot_rpc_read
int CMAparameters::m_pivot_rpc_read {0} |
|
protectedinherited |
◆ m_pivot_WORs
WORlink RPC_CondCabling::OddPhiCMA::m_pivot_WORs |
|
private |
◆ m_sector_type
int CablingObject::m_sector_type {0} |
|
privateinherited |
◆ m_station
int CablingObject::m_station {0} |
|
privateinherited |
◆ m_tag
◆ pivot_channels
constexpr int CMAparameters::pivot_channels = 32 |
|
staticconstexprinherited |
The documentation for this class was generated from the following files:
std::string two_obj_error_message(const std::string &, CMAparameters *)
int highPt_start_st() const
JetConstituentVector::iterator iterator
void add_odd_read_mul(ReadoutCh &)
int pivotStopChan
RPC chamber to which the RPC strip belongs.
int lowPt_station() const
const std::string & name() const
void showMt(char[][90], int, TrigType, int layer) const
int whichCMAstation(CMAinput input) const
std::list< int > SECTORlist
int lowPtStation
RPC station number giving input to pivot chs.
int highPt_stop_co() const
int highPt_start_ch() const
const RPCchamber * connected_rpc(int) const
int highPtStartCo
Number of connectors giving input to the matrix.
Identifier32::value_type Channel
CMAparameters(const parseParams &parse)
const CMAprogram * lowPt_program() const
const WORlink & lowPt_WORs(void) const
unsigned int m_first_highPt_code
int highPt_stop_ch() const
unsigned int m_first_pivot_code
int lowPtStartCo
RPC chamber to which the RPC strip belongs.
int lowPt_stop_co() const
std::unique_ptr< CMAidentity > m_id
void add_cma(const CMAparameters *)
const CMAidentity & id() const
CMAconfiguration m_conf_type
int pivotStartChan
RPC station number giving input to High Pt ch.
int(* m_pivot)[2][pivot_channels]
int lowPtStopCo
First connector (global-addr) for LowPt confirm.
bool cable_CMA_channels(void)
bool connect(SectorLogicSetup &)
int pivot_start_st() const
int highPt_number_co() const
unsigned int m_last_lowPt_code
static constexpr int confirm_channels
int lowPt_start_co() const
int lowPt_start_ch() const
unsigned int code(void) const
@ Linked
Mark that this variable is linked to another one.
int(* m_highPt)[2][confirm_channels]
int lowPtNumCo
Last connector (global-addr) for LowPt confirm.
unsigned int m_first_lowPt_code
int highPtStation
RPC station number giving input to Low Pt ch.
int get_max_strip_readout(int)
int pivot_station() const
std::unique_ptr< CMAprogram > m_highPt_program
std::string error_header() const
unsigned int m_last_highPt_code
CMAparameters & operator=(const CMAparameters &)
int(* m_lowPt)[2][confirm_channels]
const CMAprogram * highPt_program() const
int give_max_phi_strips() const
std::string noMoreChannels(const std::string &stat)
int lowPt_start_st() const
void create_lowPt_map(int)
std::string no_wor_readout(int, int)
const WORlink & pivot_WORs(void) const
int highPtNumCo
Last connector (global-addr) for HiPt confirm.
void get_confirm_strip_boundaries(int, int)
bool setup(SectorLogicSetup &, MsgStream &)
const WORlink & highPt_WORs(void) const
void fill(H5::Group &out_file, size_t iterations)
bool inversion(void) const
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
void create_highPt_map(int)
std::string to_string(const DetectorType &type)
int highPtStopCo
First connector (global-addr) for HiPt confirm.
int ijk_phiReadout() const
int lowPt_stop_st() const
CMAinput whichCMAinput(int) const
int lowPt_stop_ch() const
virtual void Print(std::ostream &, bool) const override
int highPt_station() const
unsigned int m_last_pivot_code
int lowPt_number_co() const
int highPt_stop_st() const
std::unique_ptr< CMAprogram > m_lowPt_program
int pivot_start_ch() const
void showDt(std::ostream &, int layer) const
std::string no_connection_error(const std::string &, int) const
bool get_channel(CMAinput, int, int &, int &) const
static constexpr int pivot_channels
void create_pivot_map(int)
int pivot_stop_ch() const
const std::string & chamber_name() const
constexpr int pow(int base, int exp) noexcept
int highPt_start_co() const
int pivot_stop_st() const
const bool * registers(void) const
std::map< int, const RPCchamber *, std::less< int > > RPClink