87 int subsystem = (
m_sector<32)? 0 : 1;
93 bool oldSimulation =
false;
100 m_pad = std::make_unique<Pad>(0,0,
m_debug,subsystem,logic_sector,
m_pad_id,1,oldSimulation, NOBXS);
103 bool eta_and_phi{}, feet_on{};
104 unsigned short int cma_mask{}, feet_th0{}, feet_th1{}, feet_th2{};
105 auto canBeUShort = [](
auto a){
return std::in_range<unsigned short>(
a);};
107 throw std::out_of_range(
"PADpatterns::give_pad: m_pad_id or m_sector are not within the range of an unsigned short int");
109 const unsigned short shortPad =
static_cast<unsigned short int>(
m_pad_id);
110 const unsigned short shortSector =
static_cast<unsigned short int>(
m_sector);
113 feet_on,eta_and_phi,cma_mask,
114 feet_th0,feet_th1,feet_th2)){
115 m_pad->setFeetOn(feet_on);
116 m_pad->setFeetThresholds(0,feet_th0);
117 m_pad->setFeetThresholds(1,feet_th1);
118 m_pad->setFeetThresholds(2,feet_th2);
123 std::runtime_error(
"PADpatterns::give_pad: Could not retrieve Pad Parameters m_sector, m_pad_id = " +
130 Matrix* low_pt_matrix = (*cma)->give_low_pt_matrix(NOBXS, BCZERO);
131 Matrix* high_pt_matrix = (*cma)->give_high_pt_matrix(NOBXS, BCZERO);
134 int matrix_view = (
id.type() == Phi)? 1 : 0;
137 for (
int bunch=0;bunch< NOBXS;++bunch)
139 m_pad->load(0,matrix_view,matrix_id,bunch,
143 m_pad->load(1,matrix_view,matrix_id,bunch,
virtual bool give_Pad_Parameters(unsigned short int logic_sector, unsigned short int PADId, bool &feet, bool &eta_and_phi, unsigned short int &cma_mask, unsigned short int &feet_th0, unsigned short int &feet_th1, unsigned short int &feet_th2) const