ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
RPC_CondCabling::EvenPhiCMA Class Reference

#include <EvenPhiCMA.h>

Inheritance diagram for RPC_CondCabling::EvenPhiCMA:
Collaboration diagram for RPC_CondCabling::EvenPhiCMA:

Public Types

enum  CMAconfiguration { Simulation, Atlas }
 
typedef std::list< const CMAparameters * > CMAlist
 

Public Member Functions

 EvenPhiCMA (const parseParams &parse)
 
 EvenPhiCMA (const EvenPhiCMA &)
 
virtual ~EvenPhiCMA ()
 
EvenPhiCMAoperator= (const EvenPhiCMA &)
 
const WORlinkpivot_WORs () const
 
const WORlinklowPt_WORs () const
 
const WORlinkhighPt_WORs () const
 
bool inversion () const
 
bool setup (SectorLogicSetup &, MsgStream &)
 
bool operator== (const CMAparameters &) const
 
bool operator== (const CMAidentity &) const
 
CMAparametersoperator+= (const CMAparameters &)
 
const CMAidentityid () const
 
const CMAprogramlowPt_program () const
 
const CMAprogramhighPt_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 CMAparameterstest (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
 
std::string name () const
 

Static Public Attributes

static constexpr int pivot_channels = 32
 
static constexpr int confirm_channels = 64
 

Protected Member Functions

void create_pivot_map (int)
 
void create_lowPt_map (int)
 
void create_highPt_map (int)
 
std::string noMoreChannels (const std::string &stat)
 
std::string two_obj_error_message (const std::string &, CMAparameters *)
 
std::string no_confirm_error (int)
 
std::string no_wor_readout (int, int)
 
std::string error (const std::string &)
 

Protected Attributes

std::unique_ptr< CMAidentitym_id
 
int m_lowPt_start_st {-1}
 
int m_lowPt_start_ch {-1}
 
int m_lowPt_stop_st {-1}
 
int m_lowPt_stop_ch {-1}
 
int m_highPt_start_st {-1}
 
int m_highPt_start_ch {-1}
 
int m_highPt_stop_st {-1}
 
int m_highPt_stop_ch {-1}
 
int m_active_pivot_chs {0}
 
int m_active_lowPt_chs {0}
 
int m_active_highPt_chs {0}
 
int m_pivot_rpc_read {0}
 
int m_lowPt_rpc_read {0}
 
int m_highPt_rpc_read {0}
 
unsigned int m_first_pivot_code {0}
 
unsigned int m_last_pivot_code {0}
 
unsigned int m_first_lowPt_code {0}
 
unsigned int m_last_lowPt_code {0}
 
unsigned int m_first_highPt_code {0}
 
unsigned int m_last_highPt_code {0}
 
int(* m_pivot )[2][pivot_channels] {}
 
int(* m_lowPt )[2][confirm_channels] {}
 
int(* m_highPt )[2][confirm_channels] {}
 
std::unique_ptr< CMAprogramm_lowPt_program
 
std::unique_ptr< CMAprogramm_highPt_program
 
CMAconfiguration m_conf_type {CMAparameters::Atlas}
 

Private Types

typedef std::map< int, WiredOR *, std::less< int > > WORlink
 

Private Member Functions

bool cable_CMA_channels (void)
 
bool connect (SectorLogicSetup &)
 
bool doInversion (SectorLogicSetup &)
 
void get_confirm_strip_boundaries (int, int)
 
int get_max_strip_readout (int)
 
void showDt (std::ostream &, int layer) const
 
void showMt (char[][90], int, TrigType, int layer) const
 
void reset_pivot_cabling ()
 
void reset_lowPt_cabling ()
 
void reset_highPt_cabling ()
 

Private Attributes

WORlink m_pivot_WORs
 
WORlink m_lowPt_WORs
 
WORlink m_highPt_WORs
 
bool m_inversion {false}
 
defineParams m_params {}
 
int m_number {0}
 
int m_station {0}
 
int m_sector_type {0}
 
ObjectType m_tag
 
std::string m_name
 

Detailed Description

Definition at line 20 of file EvenPhiCMA.h.

Member Typedef Documentation

◆ CMAlist

typedef std::list<const CMAparameters*> CMAparameters::CMAlist
inherited

Definition at line 24 of file CMAparameters.h.

◆ WORlink

typedef std::map<int, WiredOR*, std::less<int> > RPC_CondCabling::EvenPhiCMA::WORlink
private

Definition at line 22 of file EvenPhiCMA.h.

Member Enumeration Documentation

◆ CMAconfiguration

Enumerator
Simulation 
Atlas 

Definition at line 23 of file CMAparameters.h.

23 { Simulation, Atlas };

Constructor & Destructor Documentation

◆ EvenPhiCMA() [1/2]

EvenPhiCMA::EvenPhiCMA ( const parseParams parse)

Definition at line 23 of file EvenPhiCMA.cxx.

23  : CMAparameters(pars) {
24  m_inversion = false;
26 
27  // Set the memory for storing the cabling data
28  if (!pivot_station()) {
29  m_pivot_rpc_read = 1;
31  }
32  if (!lowPt_station()) {
33  m_lowPt_rpc_read = 1;
35  }
36  if (!highPt_station()) {
39  }
40 }

◆ EvenPhiCMA() [2/2]

EvenPhiCMA::EvenPhiCMA ( const EvenPhiCMA cma)

Definition at line 42 of file EvenPhiCMA.cxx.

43  : CMAparameters(cma),
44  m_pivot_WORs (cma.pivot_WORs()),
45  m_lowPt_WORs (cma.lowPt_WORs()),
46  m_highPt_WORs (cma.highPt_WORs()),
47  m_inversion (cma.inversion())
48 {
50 }

◆ ~EvenPhiCMA()

EvenPhiCMA::~EvenPhiCMA ( )
virtualdefault

Member Function Documentation

◆ active_highPt_chs()

int CMAparameters::active_highPt_chs ( ) const
inherited

Definition at line 46 of file CMAparameters.cxx.

46 { return m_active_highPt_chs; }

◆ active_lowPt_chs()

int CMAparameters::active_lowPt_chs ( ) const
inherited

Definition at line 45 of file CMAparameters.cxx.

45 { return m_active_lowPt_chs; }

◆ active_pivot_chs()

int CMAparameters::active_pivot_chs ( ) const
inherited

Definition at line 44 of file CMAparameters.cxx.

44 { return m_active_pivot_chs; }

◆ cable_CMA_channels()

bool EvenPhiCMA::cable_CMA_channels ( void  )
private

Definition at line 69 of file EvenPhiCMA.cxx.

69  {
70  if (pivot_station()) // Check and connect strips with Pivot matrix channels
71  {
73  WiredOR* wor = (*found).second;
74 
77 
78  int start = pivot_start_st();
79  int stop = pivot_stop_st();
80  int max_st = wor->give_max_phi_strips();
81 
82  int first_ch_cabled = 32;
83  int last_ch_cabled = -1;
84 
85  std::vector<int> multiplicity(max_st);
86 
87  for (int i = 0; i < m_pivot_rpc_read; ++i) {
88  const RPCchamber* rpc = wor->connected_rpc(i);
89  int rpc_st = rpc->phi_strips();
90  int cham = rpc->number();
91  int local_strip = start - (max_st - rpc_st);
92  int final_strip = stop - (max_st - rpc_st);
93 
94  int chs = (id().Ixx_index() == 0) ? pivot_channels - abs(stop - start) - 1 : 0;
95  chs += (local_strip >= 0) ? 0 : abs(local_strip) + 1;
96  if (chs >= pivot_channels) {
97  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << noMoreChannels("Pivot");
98  return false;
99  }
100  if (chs <= first_ch_cabled) first_ch_cabled = chs;
101 
102  if (local_strip <= 0) local_strip = 1;
103  do {
104  if (chs == pivot_channels) {
105  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << noMoreChannels("Pivot");
106  return false;
107  }
108  if (local_strip > 0 && local_strip <= rpc_st) {
109  if (rpc->ijk_phiReadout() == 1) {
110  m_pivot[i][0][chs] = cham * 100 + local_strip - 1;
111  m_pivot[i][1][chs] = 10000 + cham * 100 + local_strip - 1;
112  } else {
113  m_pivot[i][1][chs] = cham * 100 + local_strip - 1;
114  m_pivot[i][0][chs] = 10000 + cham * 100 + local_strip - 1;
115  }
116  multiplicity[local_strip - 1 + (max_st - rpc_st)] = 1;
117  }
118  ++chs;
119  } while (++local_strip <= final_strip);
120 
121  if (chs - 1 >= last_ch_cabled) last_ch_cabled = chs - 1;
122  if (chs > m_active_pivot_chs) m_active_pivot_chs = chs;
123  }
124  wor->add_even_read_mul(multiplicity);
125 
126  // Set first and last connectors code
127  int code = pivot_station() * 100000 + 1 * 100000000;
128  int ch = 0;
129 
130  // first_ch_cabled and last_ch_cabled are initialized with "out-of-bound" values
131  // of the m_pivot array; proper values should be assigned during the loop;
132  // the init values though are "misused" for certain conditions, too, therefore
133  // they cannot be changed; but the following if should NEVER fire.
134  if (first_ch_cabled >= pivot_channels || last_ch_cabled < 0) {
135  std::ostringstream disp;
136  disp << "EvenPhiCMA::cable_CMA_channels - out of bound array indices (m_pivot)! Values:"
137  << first_ch_cabled << ", " << last_ch_cabled
138  << " at " << __FILE__ << ":" << __LINE__ ;
139  throw std::runtime_error(disp.str());
140  }
141 
142  for (ch = 0; ch < m_pivot_rpc_read; ++ch)
143  if (m_pivot[ch][0][first_ch_cabled] >= 0) break;
144  if (ch == m_pivot_rpc_read) --ch;
145  m_first_pivot_code = code + m_pivot[ch][0][first_ch_cabled];
146 
147  for (ch = 0; ch < m_pivot_rpc_read; ++ch)
148  if (m_pivot[ch][0][last_ch_cabled] >= 0) break;
149  if (ch == m_pivot_rpc_read) --ch;
150  m_last_pivot_code = code + m_pivot[ch][0][last_ch_cabled];
151  }
152 
153  if (lowPt_station() && lowPt_start_ch() != -1) { // Check and connect strips with Low Pt matrix channels
154  for (int i = lowPt_start_ch(); i <= lowPt_stop_ch(); ++i) {
156  m_lowPt_rpc_read += (*found).second->RPCacquired();
157  }
158 
160 
161  int start = lowPt_start_st();
162  int stop = lowPt_stop_st();
163  int max_st = get_max_strip_readout(lowPt_station());
164 
165  int first_ch_cabled = 64;
166  int last_ch_cabled = -1;
167 
168  int r = 0;
169 
170  for (int w = lowPt_start_ch(); w <= lowPt_stop_ch(); ++w) {
172  WiredOR* wor = (*found).second;
173  std::vector<int> multiplicity(wor->give_max_phi_strips(),0);
174 
175  for (int i = 0; i < wor->RPCacquired(); ++i) {
176  const RPCchamber* rpc = wor->connected_rpc(i);
177 
178  int rpc_st = rpc->phi_strips();
179  int cham = rpc->number();
180  int local_strip = start - (max_st - rpc_st);
181  int final_strip = stop - (max_st - rpc_st);
182 
183  int chs = (id().Ixx_index() == 0) ? 40 - max_st / 2 : 0;
184 
185  bool isBME = false;
186  char E = rpc->chamber_name()[2];
187  // E='A';
188  if (E == 'E') isBME = true;
189 
190  if (isBME && id().Ixx_index() == 1) {
191  // ok for sector 24 (side C [and side A], cm1, ijk=2 and 3)
192  chs = 8;
193  local_strip = 1;
194  final_strip = 32;
195  }
196  if (isBME && id().Ixx_index() == 0) {
197  // ok for sector 24 (side C [and side A], cm0, ijk=2 and 3)
198  chs = 24;
199  local_strip = 1;
200  final_strip = 32;
201  }
202 
203  chs += (local_strip >= 0) ? 0 : abs(local_strip) + 1;
204 
205  if (chs >= confirm_channels) {
206  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << noMoreChannels("Low Pt");
207  return false;
208  }
209  if (chs <= first_ch_cabled) first_ch_cabled = chs;
210 
211  if (local_strip <= 0) local_strip = 1;
212  do {
213  if (chs == confirm_channels) {
214  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << noMoreChannels("Low Pt");
215  return false;
216  }
217  if (local_strip > 0 && local_strip <= rpc_st) {
218  if (rpc->ijk_phiReadout() == 1) {
219  m_lowPt[r][0][chs] = cham * 100 + local_strip - 1;
220  m_lowPt[r][1][chs] = 10000 + cham * 100 + local_strip - 1;
221  } else {
222  m_lowPt[r][1][chs] = cham * 100 + local_strip - 1;
223  m_lowPt[r][0][chs] = 10000 + cham * 100 + local_strip - 1;
224  }
225  if (max_st > wor->give_max_phi_strips()) {
226  multiplicity[local_strip - 1] = 1;
227  } else {
228  multiplicity[local_strip - 1 + (max_st - rpc_st)] = 1;
229  }
230  }
231  ++chs;
232  } while (++local_strip <= final_strip);
233 
234  ++r;
235  if (chs - 1 >= last_ch_cabled) last_ch_cabled = chs - 1;
236  if (chs > m_active_lowPt_chs) m_active_lowPt_chs = chs;
237  }
238 
239  wor->add_even_read_mul(multiplicity);
240 
241  // Set first and last connectors code
242  int code = lowPt_station() * 100000 + 1 * 100000000;
243  int ch = 0;
244 
245  // first_ch_cabled and last_ch_cabled are initialized with "out-of-bound" values
246  // of the m_lowPt array; proper values should be assigned during the loop;
247  // the init values though are "misused" for certain conditions, too, therefore
248  // they cannot be changed; but the following if should NEVER fire.
249  if (first_ch_cabled >= confirm_channels || last_ch_cabled < 0) {
250  std::ostringstream disp;
251  disp << "EvenPhiCMA::cable_CMA_channels - out of bound array indices (m_lowPt)! Values:"
252  << first_ch_cabled << ", " << last_ch_cabled
253  << " at " << __FILE__ << ":" << __LINE__ ;
254  throw std::runtime_error(disp.str());
255  }
256 
257  for (ch = 0; ch < m_lowPt_rpc_read; ++ch)
258  if (m_lowPt[ch][0][first_ch_cabled] >= 0) break;
259  if (ch == m_lowPt_rpc_read) --ch;
260  m_first_lowPt_code = code + m_lowPt[ch][0][first_ch_cabled];
261 
262  for (ch = 0; ch < m_lowPt_rpc_read; ++ch)
263  if (m_lowPt[ch][0][last_ch_cabled] >= 0) break;
264  if (ch == m_lowPt_rpc_read) --ch;
265  m_last_lowPt_code = code + m_lowPt[ch][0][last_ch_cabled];
266  }
267  }
268 
269  if (highPt_station() && highPt_start_ch() != -1) { // Check and connect strips with High Pt matrix channels
270  for (int i = highPt_start_ch(); i <= highPt_stop_ch(); ++i) {
272  m_highPt_rpc_read += (*found).second->RPCacquired();
273  }
274 
276 
277  int start = highPt_start_st();
278  int stop = highPt_stop_st();
279  int max_st = get_max_strip_readout(highPt_station());
280 
281  int first_ch_cabled = 64;
282  int last_ch_cabled = -1;
283 
284  int r = 0;
285 
286  for (int w = highPt_start_ch(); w <= highPt_stop_ch(); ++w) {
288  WiredOR* wor = (*found).second;
289  std::vector<int> multiplicity(wor->give_max_phi_strips(),0);
290 
291 
292  for (int i = 0; i < wor->RPCacquired(); ++i) {
293  const RPCchamber* rpc = wor->connected_rpc(i);
294 
295  int rpc_st = rpc->phi_strips();
296  int cham = rpc->number();
297  int local_strip = start - (max_st - rpc_st);
298  int final_strip = stop - (max_st - rpc_st);
299 
300  int chs = (id().Ixx_index() == 0) ? 40 - max_st / 2 : 0;
301 
302  char L = rpc->chamber_name()[2];
303  int sEta = rpc->stationEta();
304 
305  bool isBOE = false;
306  if (abs(sEta) == 8 && L == 'L') isBOE = true;
307  if (isBOE && id().Ixx_index() == 1) {
308  chs = 0;
309  local_strip = 13;
310  final_strip = 64;
311  }
312 
313  if (isBOE && id().Ixx_index() == 0) {
314  chs = 4;
315  final_strip = 52;
316  local_strip = 1;
317  }
318 
319  chs += (local_strip >= 0) ? 0 : abs(local_strip) + 1;
320  if (chs >= confirm_channels) {
321  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << noMoreChannels("High Pt");
322  return false;
323  }
324  if (chs <= first_ch_cabled) first_ch_cabled = chs;
325 
326  if (local_strip <= 0) local_strip = 1;
327  do {
328  if (chs == confirm_channels) {
329  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << noMoreChannels("High Pt");
330  return false;
331  }
332  bool skipChannel = false;
333  if (isBOE && id().Ixx_index() == 1 && ((chs > 3 && chs < 8) || (chs > 39 && chs < 44))) skipChannel = true;
334  if (isBOE && id().Ixx_index() == 0 && ((chs > 19 && chs < 24) || (chs > 55 && chs < 60))) skipChannel = true;
335  if (skipChannel) {
336  --local_strip;
337  } else {
338  if (local_strip > 0 && local_strip <= rpc_st) {
339  if (rpc->ijk_phiReadout() == 1) {
340  m_highPt[r][0][chs] = cham * 100 + local_strip - 1;
341  m_highPt[r][1][chs] = 10000 + cham * 100 + local_strip - 1;
342  } else {
343  m_highPt[r][1][chs] = cham * 100 + local_strip - 1;
344  m_highPt[r][0][chs] = 10000 + cham * 100 + local_strip - 1;
345  }
346  }
347  if (max_st > wor->give_max_phi_strips()) {
348  multiplicity[local_strip - 1] = 1;
349  } else {
350  multiplicity[local_strip - 1 + (max_st - rpc_st)] = 1;
351  }
352  }
353  ++chs;
354  } while (++local_strip <= final_strip);
355 
356  ++r;
357  if (chs - 1 >= last_ch_cabled) last_ch_cabled = chs - 1;
358  if (chs > m_active_highPt_chs) m_active_highPt_chs = chs;
359  }
360 
361  wor->add_even_read_mul(multiplicity);
362 
363  // Set first and last connectors code
364  int code = highPt_station() * 100000 + 1 * 100000000;
365  int ch = 0;
366 
367  // first_ch_cabled and last_ch_cabled are initialized with "out-of-bound" values
368  // of the m_highPt array; proper values should be assigned during the loop;
369  // the init values though are "misused" for certain conditions, too, therefore
370  // they cannot be changed; but the following if should NEVER fire.
371  if (first_ch_cabled >= confirm_channels || last_ch_cabled < 0) {
372  std::ostringstream disp;
373  disp << "EvenPhiCMA::cable_CMA_channels - out of bound array indices (m_highPt)! Values:"
374  << first_ch_cabled << ", " << last_ch_cabled
375  << " at " << __FILE__ << ":" << __LINE__ ;
376  throw std::runtime_error(disp.str());
377  }
378 
379  for (ch = 0; ch < m_highPt_rpc_read; ++ch)
380  if (m_highPt[ch][0][first_ch_cabled] >= 0) break;
381  if (ch == m_highPt_rpc_read) --ch;
382  m_first_highPt_code = code + m_highPt[ch][0][first_ch_cabled];
383 
384  for (ch = 0; ch < m_highPt_rpc_read; ++ch)
385  if (m_highPt[ch][0][last_ch_cabled] >= 0) break;
386  if (ch == m_highPt_rpc_read) --ch;
387  m_last_highPt_code = code + m_highPt[ch][0][last_ch_cabled];
388  }
389  }
390 
391  return true;
392 }

◆ conf_type()

CMAparameters::CMAconfiguration CMAparameters::conf_type ( ) const
inherited

Definition at line 63 of file CMAparameters.cxx.

63 { return m_conf_type; }

◆ connect()

bool EvenPhiCMA::connect ( SectorLogicSetup setup)
private

Definition at line 394 of file EvenPhiCMA.cxx.

394  {
395  if (pivot_station()) // Check and connect Pivot plane chambers
396  {
397  for (int i = pivot_start_ch(); i <= pivot_stop_ch(); ++i) {
398  WiredOR* wor = setup.find_wor(pivot_station(), i);
399  if (wor) {
400  wor->add_cma(this);
401  m_pivot_WORs.insert(WORlink::value_type(i, wor));
402  } else {
403  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << no_connection_error("WOR", i);
404  return false;
405  }
406  }
407  }
408  if (lowPt_station()) // Check and connect Low Pt plane chambers
409  {
410  std::list<const EtaCMA*> CMAs = setup.find_eta_CMAs_in_PAD(id().PAD_index());
411  if (CMAs.empty()) {
412  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << "have no Eta matrix into PAD!";
413  return false;
414  }
415 
416  // get last CMA fake
417  const EtaCMA* cmaFake = CMAs.back();
418 
419  // remove fake CMAs
420  std::list<const EtaCMA*>::iterator cm = CMAs.begin();
421  while (cm != CMAs.end()) {
422  if (!(*cm)->pivot_station() || (*cm)->lowPt_start_ch() == -1) cm = CMAs.erase(cm);
423  ++cm;
424  }
425 
426  int start_ch = (CMAs.size()) ? CMAs.front()->lowPt_start_ch() : cmaFake->lowPt_start_ch();
427  int stop_ch = (CMAs.size()) ? CMAs.back()->lowPt_stop_ch() : cmaFake->lowPt_stop_ch();
428 
429  if (start_ch != -1 && stop_ch != -1) {
430  RPCchamber* start = setup.find_chamber(lowPt_station(), start_ch);
431  RPCchamber* stop = setup.find_chamber(lowPt_station(), stop_ch);
432 
433  if (start->readoutWORs().empty()) {
434  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << no_wor_readout(start->number(), lowPt_station());
435  return false;
436  }
437  if (stop->readoutWORs().empty()) {
438  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << no_wor_readout(stop->number(), lowPt_station());
439  return false;
440  }
441 
442  m_lowPt_start_ch = start->readoutWORs().front()->number();
443  m_lowPt_stop_ch = stop->readoutWORs().front()->number();
444  int max = 0;
445 
446  for (int i = lowPt_start_ch(); i <= lowPt_stop_ch(); ++i) {
447  WiredOR* wor = setup.find_wor(lowPt_station(), i);
448  if (wor) {
449  wor->add_cma(this);
450  m_lowPt_WORs.insert(WORlink::value_type(i, wor));
451  if (wor->give_max_phi_strips() > max) max = wor->give_max_phi_strips();
452  } else {
453  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << no_connection_error("WOR", i);
454  return false;
455  }
456  }
457 
459  }
460  }
461  if (highPt_station()) // Check and connect High Pt plane chambers
462  {
463  std::list<const EtaCMA*> CMAs = setup.find_eta_CMAs_in_PAD(id().PAD_index());
464  if (CMAs.empty()) {
465  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << "have no Eta matrix into PAD!";
466  return false;
467  }
468 
469  // get last CMA fake
470  const EtaCMA* cmaFake = CMAs.back();
471 
472  // remove fake CMAs
473  std::list<const EtaCMA*>::iterator cm = CMAs.begin();
474  while (cm != CMAs.end()) {
475  if (!(*cm)->pivot_station() || (*cm)->highPt_start_ch() == -1) cm = CMAs.erase(cm);
476  ++cm;
477  }
478 
479  int start_ch = (CMAs.size()) ? CMAs.front()->highPt_start_ch() : cmaFake->highPt_start_ch();
480  int stop_ch = (CMAs.size()) ? CMAs.back()->highPt_stop_ch() : cmaFake->highPt_stop_ch();
481 
482  if (start_ch != -1 && stop_ch != -1) {
483  RPCchamber* start = setup.find_chamber(highPt_station(), start_ch);
484  RPCchamber* stop = setup.find_chamber(highPt_station(), stop_ch);
485 
486  if (start->readoutWORs().empty()) {
487  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << no_wor_readout(start->number(), highPt_station());
488  return false;
489  }
490  if (stop->readoutWORs().empty()) {
491  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << no_wor_readout(stop->number(), highPt_station());
492  return false;
493  }
494 
495  m_highPt_start_ch = start->readoutWORs().front()->number();
496  m_highPt_stop_ch = stop->readoutWORs().front()->number();
497  int max = 0;
498 
499  for (int i = highPt_start_ch(); i <= highPt_stop_ch(); ++i) {
500  WiredOR* wor = setup.find_wor(highPt_station(), i);
501  if (wor) {
502  wor->add_cma(this);
503  m_highPt_WORs.insert(WORlink::value_type(i, wor));
504  if (wor->give_max_phi_strips() > max) max = wor->give_max_phi_strips();
505  } else {
506  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << no_connection_error("WOR", i);
507  return false;
508  }
509  }
511  }
512  }
513  return true;
514 }

◆ 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.

647  {
648  if (Ch1 > Ch2) return false;
649 
650  int worlo = 0;
651  int maxch = 0;
652  int* map = nullptr;
653 
654  switch (it) {
655  case Pivot:
656  map = reinterpret_cast<int*>(m_pivot);
657  maxch = pivot_channels;
658  worlo = m_pivot_rpc_read;
659  break;
660 
661  case LowPt:
662  map = reinterpret_cast<int*>(m_lowPt);
663  maxch = confirm_channels;
664  worlo = m_lowPt_rpc_read;
665  break;
666 
667  case HighPt:
668  map = reinterpret_cast<int*>(m_highPt);
669  maxch = confirm_channels;
670  worlo = m_highPt_rpc_read;
671  break;
672 
673  default: return false;
674  }
675 
676  switch (type) {
677  case Inversion:
678 
679  num = Ch2 - Ch1 + 1;
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);
686  *(map + pos2) = tmp;
687  }
688  }
689 
690  break;
691 
692  case Swap:
693 
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);
701  *(map + pos2) = tmp;
702  }
703  }
704 
705  break;
706 
707  case Suppression:
708 
709  num = Ch2 - Ch1 + 1;
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;
713  *(map + pos) = -1;
714  }
715  }
716 
717  break;
718 
719  case Shift:
720  for (int i = 0; i < worlo; ++i) {
721  if (num / abs(num) == 1) {
722  unsigned short int piv = Ch1 + num;
723 
724  for (unsigned short int j = Ch1; j < piv; ++j) {
725  int pos = i * 2 * maxch + layer * maxch + j;
726  *(map + pos) = -1;
727  }
728 
729  for (unsigned short int j = piv; j <= Ch2; ++j) {
730  int pos = i * 2 * maxch + layer * maxch + j;
731 
732  *(map + pos - num) = *(map + pos);
733  *(map + pos) = -1;
734  }
735  }
736  if (num / abs(num) == -1) {
737  unsigned short int ch = Ch2;
738  short int piv = Ch2 - abs(num) + 1;
739  short int stop = Ch1 + num;
740  if (stop < 0) stop = 0;
741  do {
742  int pos = i * 2 * maxch + layer * maxch + ch;
743  *(map + pos) = -1;
744  --ch;
745  } while (ch > piv);
746 
747  do {
748  int pos = i * 2 * maxch + layer * maxch + piv - 1;
749 
750  *(map + pos + (int)abs(num)) = *(map + pos);
751  *(map + pos) = -1;
752  --piv;
753  } while (piv > stop);
754  }
755  }
756 
757  break;
758 
759  default: return false;
760  }
761 
762  return true;
763 }

◆ create_highPt_map()

void CMAparameters::create_highPt_map ( int  rpc_to_read)
protectedinherited

Definition at line 245 of file CMAparameters.cxx.

245  {
246  if (!m_highPt) {
247  m_highPt = new int[rpc_to_read][2][confirm_channels];
248  for (int i = 0; i < rpc_to_read; ++i)
249  for (int j = 0; j < 2; ++j)
250  for (int k = 0; k < confirm_channels; ++k) m_highPt[i][j][k] = -1;
251  }
252 }

◆ create_lowPt_map()

void CMAparameters::create_lowPt_map ( int  rpc_to_read)
protectedinherited

Definition at line 236 of file CMAparameters.cxx.

236  {
237  if (!m_lowPt) {
238  m_lowPt = new int[rpc_to_read][2][confirm_channels];
239  for (int i = 0; i < rpc_to_read; ++i)
240  for (int j = 0; j < 2; ++j)
241  for (int k = 0; k < confirm_channels; ++k) m_lowPt[i][j][k] = -1;
242  }
243 }

◆ create_pivot_map()

void CMAparameters::create_pivot_map ( int  rpc_to_read)
protectedinherited

Definition at line 227 of file CMAparameters.cxx.

227  {
228  if (!m_pivot) {
229  m_pivot = new int[rpc_to_read][2][pivot_channels];
230  for (int i = 0; i < rpc_to_read; ++i)
231  for (int j = 0; j < 2; ++j)
232  for (int k = 0; k < pivot_channels; ++k) m_pivot[i][j][k] = -1;
233  }
234 }

◆ doInversion()

bool EvenPhiCMA::doInversion ( SectorLogicSetup setup)
private

Definition at line 810 of file EvenPhiCMA.cxx.

810  {
811  SectorLogicSetup::SECTORlist Sectors = setup.sectors();
812  SectorLogicSetup::SECTORlist::const_iterator it = Sectors.begin();
813  int sector = *it;
814 
815  WORlink::const_iterator wor;
816  if (lowPt_station() && lowPt_number_co() != -1) {
817  wor = m_lowPt_WORs.begin();
818  WiredOR::RPClink Linked = (*wor).second->RPCread();
819  WiredOR::RPClink::const_iterator link = Linked.begin();
820  if ((*link).second->inversion(sector)) { m_inversion = true; }
821  }
822 
823  if (pivot_station()) {
824  wor = m_pivot_WORs.begin();
825  WiredOR::RPClink Linked = (*wor).second->RPCread();
826  WiredOR::RPClink::const_iterator link = Linked.begin();
827  if ((*link).second->inversion(sector)) { m_inversion = true; }
828  }
829 
830  if (highPt_station() && highPt_number_co() != -1) {
831  wor = m_highPt_WORs.begin();
832  WiredOR::RPClink Linked = (*wor).second->RPCread();
833  WiredOR::RPClink::const_iterator link = Linked.begin();
834  if ((*link).second->inversion(sector)) { m_inversion = true; }
835  }
836 
837  if (m_inversion) m_id->inversion();
838 
839  return true;
840 }

◆ error()

std::string CMAparameters::error ( const std::string &  str)
protectedinherited

Definition at line 549 of file CMAparameters.cxx.

549  {
550  std::ostringstream disp;
551  disp << this->error_header()
552  << this->id() << str;
553  return disp.str();
554 }

◆ error_header()

std::string CablingObject::error_header ( ) const
inherited

Definition at line 22 of file CablingObject.cxx.

22  {
23  std::ostringstream disp;
24  disp << "Error in Sector Type " << m_sector_type;
25  if (m_station > 0) disp << ", station " << m_station;
26  disp << ":" << std::endl;
27  return disp.str();
28 }

◆ first_highPt_channel()

unsigned int CMAparameters::first_highPt_channel ( ) const
inherited

Definition at line 894 of file CMAparameters.cxx.

894  {
895  for (int ch = 0; ch < confirm_channels; ++ch) {
896  for (int i = 0; i < m_highPt_rpc_read; ++i) {
897  int CabCode = m_highPt[i][0][ch];
898  if (CabCode != -1) return ch;
899  }
900  }
901  return 999;
902 }

◆ first_highPt_code()

unsigned int CMAparameters::first_highPt_code ( ) const
inherited

Definition at line 60 of file CMAparameters.cxx.

60 { return m_first_highPt_code; }

◆ first_lowPt_channel()

unsigned int CMAparameters::first_lowPt_channel ( ) const
inherited

Definition at line 874 of file CMAparameters.cxx.

874  {
875  for (int ch = 0; ch < confirm_channels; ++ch) {
876  for (int i = 0; i < m_lowPt_rpc_read; ++i) {
877  int CabCode = m_lowPt[i][0][ch];
878  if (CabCode != -1) return ch;
879  }
880  }
881  return 999;
882 }

◆ first_lowPt_code()

unsigned int CMAparameters::first_lowPt_code ( ) const
inherited

Definition at line 58 of file CMAparameters.cxx.

58 { return m_first_lowPt_code; }

◆ first_pivot_channel()

unsigned int CMAparameters::first_pivot_channel ( ) const
inherited

Definition at line 854 of file CMAparameters.cxx.

854  {
855  for (int ch = 0; ch < pivot_channels; ++ch) {
856  for (int i = 0; i < m_pivot_rpc_read; ++i) {
857  int CabCode = m_pivot[i][0][ch];
858  if (CabCode != -1) return ch;
859  }
860  }
861  return 999;
862 }

◆ first_pivot_code()

unsigned int CMAparameters::first_pivot_code ( ) const
inherited

Definition at line 56 of file CMAparameters.cxx.

56 { return m_first_pivot_code; }

◆ 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.

614  {
615  int* strips = nullptr;
616  int channels = 0;
617 
618  if (ly >= 2) return false;
619 
620  if (IO == Pivot && m_pivot) {
622  if (WOR >= m_pivot_rpc_read) return false;
623  strips = reinterpret_cast<int*>(m_pivot);
624  } else if (IO == LowPt && m_lowPt) {
626  if (WOR >= m_lowPt_rpc_read) return false;
627  strips = reinterpret_cast<int*>(m_lowPt);
628  } else if (IO == HighPt && m_highPt) {
630  if (WOR >= m_highPt_rpc_read) return false;
631  strips = reinterpret_cast<int*>(m_highPt);
632  } else
633  return false;
634 
635  if (ch >= channels) return false;
636 
637  int position = WOR * (2 * channels) + ly * (channels) + ch;
638 
639  if (*(strips + position) < 0) return false;
640 
641  code = *(strips + position);
642 
643  return true;
644 }

◆ 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.

583  {
584  int* strips = nullptr;
585  int nstrips = 0;
586  int channels = 0;
587 
588  if (IO == Pivot && m_pivot) {
590  nstrips = pivot_channels * m_pivot_rpc_read * 2;
591  strips = reinterpret_cast<int*>(m_pivot);
592  } else if (IO == LowPt && m_lowPt) {
594  nstrips = confirm_channels * m_lowPt_rpc_read * 2;
595  strips = reinterpret_cast<int*>(m_lowPt);
596  } else if (IO == HighPt && m_highPt) {
598  nstrips = confirm_channels * m_highPt_rpc_read * 2;
599  strips = reinterpret_cast<int*>(m_highPt);
600  } else
601  return false;
602 
603  for (int i = 0; i < nstrips; ++i) {
604  if (strips[i] == cab_code) {
605  ch = i % channels;
606  ly = (i / channels) % 2;
607  return true;
608  }
609  }
610 
611  return false;
612 }

◆ get_confirm_strip_boundaries()

void EvenPhiCMA::get_confirm_strip_boundaries ( int  stat,
int  max 
)
private

Definition at line 516 of file EvenPhiCMA.cxx.

516  {
517  if (stat == lowPt_station()) {
518  if (id().Ixx_index() == 0) {
519  m_lowPt_start_st = 1;
520  m_lowPt_stop_st = confirm_channels - (40 - max / 2);
522  } else if (id().Ixx_index() == 1) {
524  m_lowPt_start_st = max - confirm_channels + 1 + (40 - max / 2);
525  if (m_lowPt_start_st <= 0) m_lowPt_start_st = 1;
526  }
527 
528  } else if (stat == highPt_station()) {
529  if (id().Ixx_index() == 0) {
530  m_highPt_start_st = 1;
531  m_highPt_stop_st = confirm_channels - (40 - max / 2);
533  } else if (id().Ixx_index() == 1) {
535  m_highPt_start_st = max - confirm_channels + 1 + (40 - max / 2);
536  if (m_highPt_start_st <= 0) m_highPt_start_st = 1;
537  }
538  }
539 }

◆ get_max_strip_readout()

int EvenPhiCMA::get_max_strip_readout ( int  stat)
private

Definition at line 541 of file EvenPhiCMA.cxx.

541  {
542  int max = 0;
543  if (stat == pivot_station()) {
544  EvenPhiCMA::WORlink::const_iterator it = m_pivot_WORs.begin();
545  while (it != m_pivot_WORs.end()) {
546  max = (max > (*it).second->give_max_phi_strips()) ? max : (*it).second->give_max_phi_strips();
547  ++it;
548  }
549  } else if (stat == lowPt_station()) {
550  EvenPhiCMA::WORlink::const_iterator it = m_lowPt_WORs.begin();
551  while (it != m_lowPt_WORs.end()) {
552  max = (max > (*it).second->give_max_phi_strips()) ? max : (*it).second->give_max_phi_strips();
553  ++it;
554  }
555  } else if (stat == highPt_station()) {
556  EvenPhiCMA::WORlink::const_iterator it = m_highPt_WORs.begin();
557  while (it != m_highPt_WORs.end()) {
558  max = (max > (*it).second->give_max_phi_strips()) ? max : (*it).second->give_max_phi_strips();
559  ++it;
560  }
561  }
562  return max;
563 }

◆ give_connection()

bool CMAparameters::give_connection ( int  station,
int  cab_code,
CMAinput IO,
int &  ly,
int &  ch 
) const
inherited

Definition at line 578 of file CMAparameters.cxx.

578  {
579  IO = whichCMAinput(station);
580  return get_channel(IO, cab_code, ly, ch);
581 }

◆ 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.

766  {
767  RPCdecoder deco;
768 
769  if (ijk == 0 || ijk == 1) {
770  for (int i = 0; i < m_pivot_rpc_read; ++i) {
771  int CabCode = m_pivot[i][ijk][Channel];
772  if (CabCode >= 0) {
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());
778  }
779  }
780  }
781  }
782 
783  if (ijk == 2 || ijk == 3) {
784  if (lh == 1) {
785  for (int i = 0; i < m_highPt_rpc_read; ++i) {
786  int CabCode = m_highPt[i][0][Channel + 32 * (ijk % 2)];
787  if (CabCode >= 0) {
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());
793  }
794  }
795  }
796  } else {
797  for (int i = 0; i < m_lowPt_rpc_read; ++i) {
798  int CabCode = m_lowPt[i][0][Channel + 32 * (ijk % 2)];
799  if (CabCode >= 0) {
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());
805  }
806  }
807  }
808  }
809  }
810 
811  if (ijk == 4 || ijk == 5) {
812  if (lh == 1) {
813  for (int i = 0; i < m_highPt_rpc_read; ++i) {
814  int CabCode = m_highPt[i][1][Channel + 32 * (ijk % 2)];
815  if (CabCode >= 0) {
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());
821  }
822  }
823  }
824  } else {
825  for (int i = 0; i < m_lowPt_rpc_read; ++i) {
826  int CabCode = m_lowPt[i][1][Channel + 32 * (ijk % 2)];
827  if (CabCode >= 0) {
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());
833  }
834  }
835  }
836  }
837  }
838 
839  if (ijk == 6) {
840  for (int i = 0; i < m_pivot_rpc_read; ++i) {
841  int CabCode = m_pivot[i][0][Channel];
842  if (CabCode >= 0) {
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());
848  }
849  }
850  }
851  }
852 }

◆ highPt_number_co()

int CMAparameters::highPt_number_co ( ) const
inherited

Definition at line 32 of file CMAparameters.cxx.

32 { return m_params.highPtNumCo; }

◆ highPt_program()

const CMAprogram * CMAparameters::highPt_program ( ) const
inherited

Definition at line 19 of file CMAparameters.cxx.

19 { return m_highPt_program.get(); }

◆ highPt_rpc_read()

int CMAparameters::highPt_rpc_read ( ) const
inherited

Definition at line 54 of file CMAparameters.cxx.

54 { return m_highPt_rpc_read; }

◆ highPt_start_ch()

int CMAparameters::highPt_start_ch ( ) const
inherited

Definition at line 40 of file CMAparameters.cxx.

40 { return m_highPt_start_ch; }

◆ highPt_start_co()

int CMAparameters::highPt_start_co ( ) const
inherited

Definition at line 30 of file CMAparameters.cxx.

30 { return m_params.highPtStartCo; }

◆ highPt_start_st()

int CMAparameters::highPt_start_st ( ) const
inherited

Definition at line 39 of file CMAparameters.cxx.

39 { return m_highPt_start_st; }

◆ highPt_station()

int CMAparameters::highPt_station ( ) const
inherited

Definition at line 50 of file CMAparameters.cxx.

50 { return m_params.highPtStation; }

◆ highPt_stop_ch()

int CMAparameters::highPt_stop_ch ( ) const
inherited

Definition at line 42 of file CMAparameters.cxx.

42 { return m_highPt_stop_ch; }

◆ highPt_stop_co()

int CMAparameters::highPt_stop_co ( ) const
inherited

Definition at line 31 of file CMAparameters.cxx.

31 { return m_params.highPtStopCo; }

◆ highPt_stop_st()

int CMAparameters::highPt_stop_st ( ) const
inherited

Definition at line 41 of file CMAparameters.cxx.

41 { return m_highPt_stop_st; }

◆ highPt_WORs()

const EvenPhiCMA::WORlink & EvenPhiCMA::highPt_WORs ( ) const

Definition at line 19 of file EvenPhiCMA.cxx.

19 { return m_highPt_WORs; }

◆ id()

const CMAidentity & CMAparameters::id ( ) const
inherited

Definition at line 17 of file CMAparameters.cxx.

17 { return *m_id; }

◆ inversion()

bool EvenPhiCMA::inversion ( ) const

Definition at line 21 of file EvenPhiCMA.cxx.

21 { return m_inversion; }

◆ isAtlas()

bool CMAparameters::isAtlas ( ) const
inherited

Definition at line 15 of file CMAparameters.cxx.

15 { return m_conf_type == Atlas; }

◆ last_highPt_channel()

unsigned int CMAparameters::last_highPt_channel ( ) const
inherited

Definition at line 904 of file CMAparameters.cxx.

904  {
905  for (int ch = confirm_channels - 1; ch >= 0; --ch) {
906  for (int i = 0; i < m_highPt_rpc_read; ++i) {
907  int CabCode = m_highPt[i][0][ch];
908  if (CabCode != -1) return ch;
909  }
910  }
911  return 999;
912 }

◆ last_highPt_code()

unsigned int CMAparameters::last_highPt_code ( ) const
inherited

Definition at line 61 of file CMAparameters.cxx.

61 { return m_last_highPt_code; }

◆ last_lowPt_channel()

unsigned int CMAparameters::last_lowPt_channel ( ) const
inherited

Definition at line 884 of file CMAparameters.cxx.

884  {
885  for (int ch = confirm_channels - 1; ch >= 0; --ch) {
886  for (int i = 0; i < m_lowPt_rpc_read; ++i) {
887  int CabCode = m_lowPt[i][0][ch];
888  if (CabCode != -1) return ch;
889  }
890  }
891  return 999;
892 }

◆ last_lowPt_code()

unsigned int CMAparameters::last_lowPt_code ( ) const
inherited

Definition at line 59 of file CMAparameters.cxx.

59 { return m_last_lowPt_code; }

◆ last_pivot_channel()

unsigned int CMAparameters::last_pivot_channel ( ) const
inherited

Definition at line 864 of file CMAparameters.cxx.

864  {
865  for (int ch = pivot_channels - 1; ch >= 0; --ch) {
866  for (int i = 0; i < m_pivot_rpc_read; ++i) {
867  int CabCode = m_pivot[i][0][ch];
868  if (CabCode != -1) return ch;
869  }
870  }
871  return 999;
872 }

◆ last_pivot_code()

unsigned int CMAparameters::last_pivot_code ( ) const
inherited

Definition at line 57 of file CMAparameters.cxx.

57 { return m_last_pivot_code; }

◆ lowPt_number_co()

int CMAparameters::lowPt_number_co ( ) const
inherited

Definition at line 28 of file CMAparameters.cxx.

28 { return m_params.lowPtNumCo; }

◆ lowPt_program()

const CMAprogram * CMAparameters::lowPt_program ( ) const
inherited

Definition at line 18 of file CMAparameters.cxx.

18 { return m_lowPt_program.get(); }

◆ lowPt_rpc_read()

int CMAparameters::lowPt_rpc_read ( ) const
inherited

Definition at line 53 of file CMAparameters.cxx.

53 { return m_lowPt_rpc_read; }

◆ lowPt_start_ch()

int CMAparameters::lowPt_start_ch ( ) const
inherited

Definition at line 35 of file CMAparameters.cxx.

35 { return m_lowPt_start_ch; }

◆ lowPt_start_co()

int CMAparameters::lowPt_start_co ( ) const
inherited

Definition at line 26 of file CMAparameters.cxx.

26 { return m_params.lowPtStartCo; }

◆ lowPt_start_st()

int CMAparameters::lowPt_start_st ( ) const
inherited

Definition at line 34 of file CMAparameters.cxx.

34 { return m_lowPt_start_st; }

◆ lowPt_station()

int CMAparameters::lowPt_station ( ) const
inherited

Definition at line 49 of file CMAparameters.cxx.

49 { return m_params.lowPtStation; }

◆ lowPt_stop_ch()

int CMAparameters::lowPt_stop_ch ( ) const
inherited

Definition at line 37 of file CMAparameters.cxx.

37 { return m_lowPt_stop_ch; }

◆ lowPt_stop_co()

int CMAparameters::lowPt_stop_co ( ) const
inherited

Definition at line 27 of file CMAparameters.cxx.

27 { return m_params.lowPtStopCo; }

◆ lowPt_stop_st()

int CMAparameters::lowPt_stop_st ( ) const
inherited

Definition at line 36 of file CMAparameters.cxx.

36 { return m_lowPt_stop_st; }

◆ lowPt_WORs()

const EvenPhiCMA::WORlink & EvenPhiCMA::lowPt_WORs ( ) const

Definition at line 18 of file EvenPhiCMA.cxx.

18 { return m_lowPt_WORs; }

◆ name()

std::string BaseObject::name ( ) const
inlineinherited

Definition at line 23 of file BaseObject.h.

23 { return m_name; }

◆ no_confirm_error()

std::string CMAparameters::no_confirm_error ( int  stat)
protectedinherited

Definition at line 524 of file CMAparameters.cxx.

524  {
525  std::ostringstream disp;
526  disp << this->error_header();
527 
528  if (stat == lowPt_station()) {
529  disp << "Low Pt cabling inconsistence (cabling from connector " << m_params.lowPtStartCo << " to connector " << m_params.lowPtStopCo
530  << ") for" << std::endl
531  << *this;
532  } else if (stat == highPt_station()) {
533  disp << "High Pt cabling inconsistence (cabling from connector " << m_params.highPtStartCo << " to connector "
534  << m_params.highPtStopCo << ") for" << std::endl
535  << *this;
536  }
537  return disp.str();
538 }

◆ 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.

30  {
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!";
33  return disp.str();
34 }

◆ no_wor_readout()

std::string CMAparameters::no_wor_readout ( int  num,
int  stat 
)
protectedinherited

Definition at line 540 of file CMAparameters.cxx.

540  {
541  std::ostringstream disp;
542  disp << this->error_header();
543 
544  disp << this->id() << " receives input from" << std::endl
545  << " RPC chamber n. " << num << " of station " << stat << " which has no Wired OR readout!";
546  return disp.str();
547 }

◆ noMoreChannels()

std::string CMAparameters::noMoreChannels ( const std::string &  stat)
protectedinherited

Definition at line 481 of file CMAparameters.cxx.

481  {
482  int max_channels = 0;
483  if (stat == "Pivot")
484  max_channels = pivot_channels;
485  else
486  max_channels = confirm_channels;
487 
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";
491  return disp.str();
492 }

◆ number()

int CablingObject::number ( ) const
inherited

Definition at line 12 of file CablingObject.cxx.

12 { return m_number; }

◆ operator+=()

CMAparameters & CMAparameters::operator+= ( const CMAparameters cma)
inherited

Definition at line 262 of file CMAparameters.cxx.

262  {
267 
271 
275 
279 
282  if (m_lowPt_stop_st == -1) m_lowPt_stop_st = cma.lowPt_stop_st();
283  if (m_lowPt_stop_ch == -1) m_lowPt_stop_ch = cma.lowPt_stop_ch();
284 
289 
290  return *this;
291 }

◆ operator=()

EvenPhiCMA & EvenPhiCMA::operator= ( const EvenPhiCMA cma)

Definition at line 54 of file EvenPhiCMA.cxx.

54  {
55  if (this != &cma) {
57  m_pivot_WORs.clear();
58  m_pivot_WORs = cma.pivot_WORs();
59  m_lowPt_WORs.clear();
60  m_lowPt_WORs = cma.lowPt_WORs();
61  m_highPt_WORs.clear();
62  m_highPt_WORs = cma.highPt_WORs();
63 
64  m_inversion = cma.inversion();
65  }
66  return *this;
67 }

◆ operator==() [1/2]

bool CMAparameters::operator== ( const CMAidentity id) const
inherited

Definition at line 258 of file CMAparameters.cxx.

258  {
259  return this->id() == id;
260 }

◆ operator==() [2/2]

bool CMAparameters::operator== ( const CMAparameters cma) const
inherited

Definition at line 254 of file CMAparameters.cxx.

254  {
255  return this->id() == cma.id();
256 }

◆ pivot_rpc_read()

int CMAparameters::pivot_rpc_read ( ) const
inherited

Definition at line 52 of file CMAparameters.cxx.

52 { return m_pivot_rpc_read; }

◆ pivot_start_ch()

int CMAparameters::pivot_start_ch ( ) const
inherited

Definition at line 21 of file CMAparameters.cxx.

21 { return m_params.pivotStartChan; }

◆ pivot_start_st()

int CMAparameters::pivot_start_st ( ) const
inherited

Definition at line 22 of file CMAparameters.cxx.

22 { return m_params.pivotStartStation; }

◆ pivot_station()

int CMAparameters::pivot_station ( ) const
inherited

Definition at line 48 of file CMAparameters.cxx.

48 { return m_params.pivotStation; }

◆ pivot_stop_ch()

int CMAparameters::pivot_stop_ch ( ) const
inherited

Definition at line 23 of file CMAparameters.cxx.

23 { return m_params.pivotStopChan; }

◆ pivot_stop_st()

int CMAparameters::pivot_stop_st ( ) const
inherited

Definition at line 24 of file CMAparameters.cxx.

24 { return m_params.pivotStopStation; }

◆ pivot_WORs()

const EvenPhiCMA::WORlink & EvenPhiCMA::pivot_WORs ( ) const

Definition at line 17 of file EvenPhiCMA.cxx.

17 { return m_pivot_WORs; }

◆ Print() [1/2]

void CMAparameters::Print ( std::ostream &  stream,
bool  detail 
) const
overridevirtualinherited

Reimplemented from BaseObject.

Definition at line 476 of file CMAparameters.cxx.

477 {
478  Print (stream, detail, 0);
479 }

◆ Print() [2/2]

void CMAparameters::Print ( std::ostream &  stream,
bool  detail,
int  layer 
) const
inherited

Definition at line 449 of file CMAparameters.cxx.

450 {
451  stream << id();
452 
453  stream << " I/O " << m_params.pivotStation << ",";
454  stream << m_params.lowPtStation << "," << m_params.highPtStation << " pivot ";
455  stream.fill(48);
456  stream << "<" << std::setw(2) << pivot_start_ch();
457  stream << ":" << std::setw(2) << pivot_start_st();
458  stream << " " << std::setw(2) << pivot_stop_ch() << ":";
459  stream << std::setw(2) << pivot_stop_st() << ">" << std::endl;
460  stream << " ";
461  stream << "lowPt <" << std::setw(2);
462 
463  stream << lowPt_start_ch() << ":" << std::setw(2) << lowPt_start_st();
464  stream << " " << std::setw(2) << lowPt_stop_ch() << ":";
465  stream << std::setw(2) << lowPt_stop_st() << ">" << std::endl;
466  stream << " ";
467  stream << "highPt<" << std::setw(2);
468 
469  stream << highPt_start_ch() << ":" << std::setw(2) << highPt_start_st();
470  stream << " " << std::setw(2) << highPt_stop_ch() << ":";
471  stream << std::setw(2) << highPt_stop_st() << ">" << std::endl;
472  stream.fill(32);
473  if (detail) showDt(stream, layer);
474 }

◆ reset_highPt_cabling()

void CMAparameters::reset_highPt_cabling ( )
privateinherited

Definition at line 221 of file CMAparameters.cxx.

221  {
222  m_highPt_rpc_read = 0;
223  if (m_highPt) delete[] m_highPt;
224  m_highPt = nullptr;
225 }

◆ reset_lowPt_cabling()

void CMAparameters::reset_lowPt_cabling ( )
privateinherited

Definition at line 215 of file CMAparameters.cxx.

215  {
216  m_lowPt_rpc_read = 0;
217  if (m_lowPt) delete[] m_lowPt;
218  m_lowPt = nullptr;
219 }

◆ reset_pivot_cabling()

void CMAparameters::reset_pivot_cabling ( )
privateinherited

Definition at line 209 of file CMAparameters.cxx.

209  {
210  m_pivot_rpc_read = 0;
211  if (m_pivot) delete[] m_pivot;
212  m_pivot = nullptr;
213 }

◆ sector_type()

int CablingObject::sector_type ( ) const
inherited

Definition at line 14 of file CablingObject.cxx.

14 { return m_sector_type; }

◆ setup()

bool EvenPhiCMA::setup ( SectorLogicSetup setup,
MsgStream &  log 
)

Definition at line 565 of file EvenPhiCMA.cxx.

565  {
566  EvenPhiCMA* prev = setup.previousCMA(*this);
567  if (prev && pivot_station()) {
568  if (pivot_start_ch() == prev->pivot_stop_ch()) {
569  if (!(pivot_start_st() == prev->pivot_stop_st() + 1)) {
570  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << two_obj_error_message("strips mismatch", prev);
571  return false;
572  }
573 
574  } else if (!(pivot_start_ch() == prev->pivot_stop_ch() + 1)) {
575  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "EvenPhiCMA") << two_obj_error_message("chambers mismatch", prev);
576  return false;
577  } else {
578  }
579  } else {
580  }
581 
582  if (!connect(setup)) return false;
583  if (!cable_CMA_channels()) return false;
584 
585  // invert the strip cabling if needed
586  // if( !doInversion(setup) ) return false;
587 
588  // olny 1 repository allowed so far
589  std::string LVL1_configuration_repository;
590  LVL1_configuration_repository = "ATLAS.data";
591 
592  // Read the program file if exist
593  SectorLogicSetup::SECTORlist sectors = setup.sectors();
594  SectorLogicSetup::SECTORlist::const_iterator it = sectors.begin();
595 
596  char s_tag[4];
597  sprintf(s_tag, "s%02d", *it);
598 
599  char t_tag[3];
600  sprintf(t_tag, "t%1d", id().PAD_index());
601 
602  char c_tag[4] = {'_', 'c', '0', '\0'};
603  if (id().phi_index() == 1) c_tag[2] = '1';
604 
605  std::ifstream CMAprogLow;
606  std::istringstream CMAprogLow_COOL;
607  char name[200];
608  for (int i = 0; i < 200; ++i) name[i] = '\0';
609 
610  // LB retrieve pointer to the map of the trigger roads
611  const std::map<std::string, std::string>* p_trigroads = setup.GetPtoTrigRoads();
612 
613  // Read trigger configurations from files
614  if (p_trigroads == nullptr) {
615  while (!CMAprogLow.is_open() && it != sectors.end()) {
616  std::ostringstream namestr;
617  for (int i = 0; i < 200; ++i) name[i] = '\0';
618 
619  if ((*it) % 2 == 0) // load only the Phi program of the Even sectors
620  {
621  std::string dir;
622  dir = setup.online_database();
623  namestr << dir << "/" << s_tag << "_" << t_tag << "_pl" << c_tag << ".txt" << std::ends; // M.C. search for local files
624 
625  namestr.str().copy(name, namestr.str().length(), 0);
626  name[namestr.str().length()] = 0;
627 
628  CMAprogLow.open(name);
629  if (!CMAprogLow.is_open()) CMAprogLow.clear();
630  namestr.clear();
631  }
632  ++it;
633  }
634  }
635  // Trigger configuration loaded from COOL
636  else {
637  while (CMAprogLow_COOL.str().empty() && it != sectors.end()) {
638  std::ostringstream namestr;
639  for (int i = 0; i < 200; ++i) name[i] = '\0';
640 
641  if ((*it) % 2 == 0) // load only the Phi program of the Even sectors
642  {
643  namestr << s_tag << "_" << t_tag << "_pl" << c_tag << ".txt" << std::ends;
644  namestr.str().copy(name, namestr.str().length(), 0);
645  name[namestr.str().length()] = 0;
646  std::map<std::string, std::string>::const_iterator itc;
647  itc = p_trigroads->find(name);
648  if (itc != p_trigroads->end()) {
649  if (log.level() <= MSG::VERBOSE) {
650  log << MSG::VERBOSE << "EvenPhiCMA low: key " << name << "found in the Trigger Road Map --> OK"
651  << ", EvenPhiCMA low: key " << itc->second.c_str() << endmsg;
652  }
653  CMAprogLow_COOL.str(itc->second.c_str());
654  if (log.level() <= MSG::VERBOSE) {
655  log << MSG::VERBOSE << "LBTAG-CMAPROGLOWO " << CMAprogLow_COOL.str() << endmsg;
656  }
657  }
658  }
659  ++it;
660  namestr.clear();
661  }
662  }
663  if (CMAprogLow.is_open()) {
664  std::unique_ptr<CMAprogram> program = std::make_unique<CMAprogram>(CMAprogLow, true);
665  if (program->check()) {
666  m_lowPt_program = std::move(program);
667  if (setup.cosmic()) {
668  m_lowPt_program->open_threshold(0);
669  m_lowPt_program->open_threshold(1);
670  }
671  for (unsigned int i = 0; i < 3; ++i) {
672  if (!m_lowPt_program->hasProgrammed(i)) {
673  if (log.level() <= MSG::DEBUG) {
674  log << MSG::DEBUG << s_tag << ": " << id() << ": low-pt: has threshold " << i
675  << " not programmed." << endmsg;
676  }
677  }
678  }
679  }
680  CMAprogLow.close();
681  } else if (!CMAprogLow_COOL.str().empty()) {
682  std::unique_ptr<CMAprogram> program = std::make_unique<CMAprogram>(CMAprogLow_COOL, true);
683  if (program->check()) {
684  m_lowPt_program = std::move(program);
685  if (setup.cosmic()) {
686  m_lowPt_program->open_threshold(0);
687  m_lowPt_program->open_threshold(1);
688  }
689  for (unsigned int i = 0; i < 3; ++i) {
690  if (!m_lowPt_program->hasProgrammed(i)) {
691  if (log.level() <= MSG::DEBUG) {
692  log << MSG::DEBUG << s_tag << ": " << id() << ": low-pt: has threshold " << i
693  << " not programmed." << endmsg;
694  }
695  }
696  }
697  }
698  CMAprogLow_COOL.str("");
699  } else if (name[0] != '\0') {
700  if (log.level() <= MSG::DEBUG) {
701  log << MSG::DEBUG << name << " not found! Putting a dummy configuration" << endmsg;
702  }
703  m_lowPt_program = std::make_unique<CMAprogram>();
704  m_lowPt_program->open_threshold(0);
705  }
706 
707  std::ifstream CMAprogHigh;
708  std::istringstream CMAprogHigh_COOL;
709 
710  it = sectors.begin();
711 
712  if (p_trigroads == nullptr) {
713  while (!CMAprogHigh.is_open() && it != sectors.end()) {
714  std::ostringstream namestr;
715  for (int i = 0; i < 200; ++i) name[i] = '\0';
716 
717  if ((*it) % 2 == 0) // load only the Phi program of the Even sectors
718  {
719  std::string dir;
720  dir = setup.online_database();
721  namestr << dir << "/" << s_tag << "_" << t_tag << "_ph" << c_tag << ".txt" << std::ends;
722 
723  namestr.str().copy(name, namestr.str().length(), 0);
724  name[namestr.str().length()] = 0;
725 
726  CMAprogHigh.open(name);
727  if (!CMAprogHigh.is_open()) CMAprogHigh.clear();
728  namestr.clear();
729  }
730  ++it;
731  }
732  }
733  // Trigger configuration loaded from COOL
734  else {
735  it = sectors.begin();
736  while (CMAprogHigh_COOL.str().empty() && it != sectors.end()) {
737  std::ostringstream namestr;
738  for (int i = 0; i < 200; ++i) name[i] = '\0';
739 
740  if ((*it) % 2 == 0) // load only the Phi program of the Even sectors
741  {
742  namestr << s_tag << "_" << t_tag << "_ph" << c_tag << ".txt" << std::ends;
743  namestr.str().copy(name, namestr.str().length(), 0);
744  name[namestr.str().length()] = 0;
745  std::map<std::string, std::string>::const_iterator itc;
746  itc = p_trigroads->find(name);
747  if (itc != p_trigroads->end()) {
748  if (log.level() <= MSG::VERBOSE) {
749  log << MSG::VERBOSE << "EvenPhiCMA high: key " << name << "found in the Trigger Road Map --> OK"
750  << ", EvenPhiCMA high: key " << itc->second.c_str() << endmsg;
751  }
752  CMAprogHigh_COOL.str(itc->second.c_str());
753  if (log.level() <= MSG::DEBUG) {
754  log << MSG::DEBUG << "CMAPROGHIGH " << CMAprogHigh_COOL.str() << endmsg;
755  }
756  }
757  }
758  ++it;
759  namestr.clear();
760  }
761  }
762 
763  if (CMAprogHigh.is_open()) {
764  std::unique_ptr<CMAprogram> program = std::make_unique<CMAprogram>(CMAprogHigh, true);
765  if (program->check()) {
766  m_highPt_program = std::move(program);
767  if (setup.cosmic()) {
768  m_highPt_program->open_threshold(0);
769  m_highPt_program->open_threshold(1);
770  }
771  for (unsigned int i = 0; i < 3; ++i) {
772  if (!m_highPt_program->hasProgrammed(i)) {
773  if (log.level() <= MSG::DEBUG) {
774  log << MSG::DEBUG << s_tag << ": " << id() << ": high-pt: has threshold " << i
775  << " not programmed." << endmsg;
776  }
777  }
778  }
779  }
780  CMAprogHigh.close();
781  } else if (!CMAprogHigh_COOL.str().empty()) {
782  std::unique_ptr<CMAprogram> program = std::make_unique<CMAprogram>(CMAprogHigh_COOL, true);
783  if (program->check()) {
784  m_highPt_program = std::move(program);
785  if (setup.cosmic()) {
786  m_highPt_program->open_threshold(0);
787  m_highPt_program->open_threshold(1);
788  }
789  for (unsigned int i = 0; i < 3; ++i) {
790  if (!m_highPt_program->hasProgrammed(i)) {
791  if (log.level() <= MSG::DEBUG) {
792  log << MSG::DEBUG << s_tag << ": " << id() << ": high-pt: has threshold " << i
793  << " not programmed." << endmsg;
794  }
795  }
796  }
797  }
798  CMAprogHigh_COOL.str("");
799  } else if (name[0] != '\0') {
800  if (log.level() <= MSG::DEBUG) {
801  log << MSG::DEBUG << name << " not found! Putting a dummy configuration" << endmsg;
802  }
803  m_highPt_program = std::make_unique<CMAprogram>();
804  m_highPt_program->open_threshold(0);
805  }
806 
807  return true;
808 }

◆ showDt()

void CMAparameters::showDt ( std::ostream &  stream,
int  layer 
) const
privateinherited

Definition at line 293 of file CMAparameters.cxx.

293  {
294  // Set the chracters used for matrix display
295  unsigned int finish = 164;
296 
297  if (!m_pivot) {
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;
300  stream << std::endl;
301  return;
302  }
303 
304  // Set memory for the display
305  int ln = (m_lowPt_rpc_read > 0) ? (m_lowPt_rpc_read - 1) * 6 + 39 : 39;
306 
307  char(*displow)[90] = new char[ln][90];
308 
309  // Show Low Pt connections
310  stream << std::endl << "Low Pt matrix connections:" << std::endl << std::endl;
311  showMt(displow, ln, Low, layer);
312 
313  // Dumping memory on output stream
314  for (int i = 0; i < ln; ++i)
315  if (displow[i][0] != '\0') stream << displow[i] << std::endl;
316 
317  delete[] displow;
318 
319  // Show Hi Pt connections
320  stream << std::endl << std::endl << "Hi Pt matrix connections:" << std::endl << std::endl;
321 
322  ln = (m_highPt_rpc_read > 0) ? (m_highPt_rpc_read - 1) * 6 + 39 : 39;
323 
324  char(*disphi)[90] = new char[ln][90];
325 
326  showMt(disphi, ln, High, layer);
327 
328  // Dumping memory on output stream
329  for (int i = 0; i < ln; ++i)
330  if (disphi[i][0] != '\0') stream << disphi[i] << std::endl;
331 
332  delete[] disphi;
333 
334  stream << std::endl;
335  for (int i = 0; i < 80; ++i) stream << (char)finish;
336  stream << std::endl;
337 }

◆ showMt()

void CMAparameters::showMt ( char  display[][90],
int  ln,
TrigType  type,
int  layer 
) const
privateinherited

Definition at line 339 of file CMAparameters.cxx.

339  {
340  // Set the chracters used for matrix display
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;
346 
347  // overwritting character using pipe and minus
348  left = 124;
349  right = 124;
350  up = 45;
351  down = 45;
352 
353  // Set input for the display
354  std::ostringstream** disp = new std::ostringstream*[ln];
355 
356  for (int i = 0; i < ln; ++i) disp[i] = new std::ostringstream;
357 
358  int pivot_loop = (m_pivot_rpc_read < 4) ? m_pivot_rpc_read : 3;
359  int conf_loop = 0;
360  int(*conf)[2][confirm_channels] = nullptr;
361 
362  const CMAprogram* program = nullptr;
363 
364  if (type == Low) {
365  conf_loop = m_lowPt_rpc_read;
366  conf = m_lowPt;
367  program = this->lowPt_program();
368  } else {
369  conf_loop = m_highPt_rpc_read;
370  conf = m_highPt;
371  program = this->highPt_program();
372  }
373 
374  int shift = 6 * pivot_loop;
375 
376  for (int i = 0; i < shift; ++i) *disp[0] << " ";
377  for (int i = 0; i < confirm_channels; ++i) (std::ostream&)*disp[0] << (char)up;
378 
379  for (int i = 1; i <= pivot_channels; ++i) {
380  // Display the cabling for the pivot plane
381  for (int j = 0; j < pivot_loop; ++j) {
382  if (j) *disp[i] << "|";
383  (*disp[i]).fill(48);
384  if (m_pivot[j][layer][pivot_channels - i] >= 0) {
385  *disp[i] << std::setw(5) << m_pivot[j][layer][pivot_channels - i];
386  } else
387  *disp[i] << "*****";
388  }
389 
390  // Display the trigger window for all tresholds
391  (std::ostream&)*disp[i] << (char)left;
392  for (int j = 0; j < confirm_channels; ++j) {
393  unsigned int no_coincidence = ':';
394  if (program) {
395  const bool* registers = program->registers();
396  int third = 2 * (pivot_channels * confirm_channels) + (pivot_channels - i) * confirm_channels + j;
397  int second = third - pivot_channels * confirm_channels;
399 
400  if (registers[third])
401  *disp[i] << "3";
402  else if (registers[second])
403  *disp[i] << "2";
404  else if (registers[first])
405  *disp[i] << "1";
406  else
407  (std::ostream&)*disp[i] << (char)no_coincidence;
408 
409  } else
410  *disp[i] << " ";
411  }
412  (std::ostream&)*disp[i] << (char)right;
413  }
414 
415  // Display the cabling for the confirm plane
416  int start_confirm = pivot_channels + 1;
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] << " ";
420 
421  for (int i = 0; i < confirm_channels; ++i) (std::ostream&)*disp[start_confirm] << (char)down;
422 
423  for (int i = 0; i < conf_loop; ++i) {
424  int start = (i) ? start_confirm + i * 6 : start_confirm + 1;
425  if (i) {
426  for (int ch = 1; ch <= confirm_channels; ++ch) (std::ostream&)*disp[start] << (char)middle;
427  ++start;
428  }
429 
430  for (int j = 0; j < 5; ++j)
431  for (int ch = 0; ch < confirm_channels; ++ch) {
432  if (conf[i][layer][ch] >= 0) {
433  (std::ostream&)*disp[start + j] << (conf[i][layer][ch] / static_cast<int>(pow(10., j))) % 10;
434  } else
435  (std::ostream&)*disp[start + j] << "*";
436  }
437  }
438 
439  for (int i = 0; i < ln; ++i) {
440  std::string tmp = (*disp[i]).str();
441  tmp.copy(display[i], tmp.length(), 0);
442  display[i][tmp.length()] = 0;
443  delete disp[i];
444  }
445 
446  delete[] disp;
447 }

◆ station()

int CablingObject::station ( ) const
inherited

Definition at line 13 of file CablingObject.cxx.

13 { return m_station; }

◆ tag()

ObjectType BaseObject::tag ( ) const
inlineinherited

Definition at line 22 of file BaseObject.h.

22 { return m_tag; }

◆ test()

const CMAparameters * CMAparameters::test ( CMAinput  input,
int  cabling_code 
) const
inherited

Definition at line 494 of file CMAparameters.cxx.

494  {
495  int* strips = nullptr;
496  int nstrips = 0;
497 
498  if (input == Pivot && m_pivot) {
499  nstrips = pivot_channels * m_pivot_rpc_read * 2;
500  strips = reinterpret_cast<int*>(m_pivot);
501  } else if (input == LowPt && m_lowPt) {
502  nstrips = confirm_channels * m_lowPt_rpc_read * 2;
503  strips = reinterpret_cast<int*>(m_lowPt);
504  } else if (input == HighPt && m_highPt) {
505  nstrips = confirm_channels * m_highPt_rpc_read * 2;
506  strips = reinterpret_cast<int*>(m_highPt);
507  } else
508  return nullptr;
509 
510  for (int i = 0; i < nstrips; ++i)
511  if (strips[i] == cabling_code) return this;
512 
513  return nullptr;
514 }

◆ two_obj_error_message()

std::string CMAparameters::two_obj_error_message ( const std::string &  msg,
CMAparameters cma 
)
protectedinherited

Definition at line 516 of file CMAparameters.cxx.

516  {
517  std::ostringstream disp;
518  disp << this->error_header()
519  << " " << msg << " between " << name() << " n. " << number() << " and " << cma->name() << " n. " << cma->number() << std::endl
520  << *this << *cma;
521  return disp.str();
522 }

◆ whichCMAinput()

CMAinput CMAparameters::whichCMAinput ( int  stat) const
inherited

Definition at line 556 of file CMAparameters.cxx.

556  {
557  if (stat == m_params.pivotStation)
558  return Pivot;
559  else if (stat == m_params.lowPtStation)
560  return LowPt;
561  else if (stat == m_params.highPtStation)
562  return HighPt;
563  else
564  return NoInput;
565 }

◆ whichCMAstation()

int CMAparameters::whichCMAstation ( CMAinput  input) const
inherited

Definition at line 567 of file CMAparameters.cxx.

567  {
568  if (input == CMAinput::Pivot)
569  return m_params.pivotStation;
570  else if (input == CMAinput::LowPt)
571  return m_params.lowPtStation;
572  else if (input == CMAinput::HighPt)
573  return m_params.highPtStation;
574  else
575  return 0;
576 }

Member Data Documentation

◆ confirm_channels

constexpr int CMAparameters::confirm_channels = 64
staticconstexprinherited

Definition at line 70 of file CMAparameters.h.

◆ m_active_highPt_chs

int CMAparameters::m_active_highPt_chs {0}
protectedinherited

Definition at line 87 of file CMAparameters.h.

◆ m_active_lowPt_chs

int CMAparameters::m_active_lowPt_chs {0}
protectedinherited

Definition at line 86 of file CMAparameters.h.

◆ m_active_pivot_chs

int CMAparameters::m_active_pivot_chs {0}
protectedinherited

Definition at line 85 of file CMAparameters.h.

◆ m_conf_type

CMAconfiguration CMAparameters::m_conf_type {CMAparameters::Atlas}
protectedinherited

Definition at line 107 of file CMAparameters.h.

◆ m_first_highPt_code

unsigned int CMAparameters::m_first_highPt_code {0}
protectedinherited

Definition at line 97 of file CMAparameters.h.

◆ m_first_lowPt_code

unsigned int CMAparameters::m_first_lowPt_code {0}
protectedinherited

Definition at line 95 of file CMAparameters.h.

◆ m_first_pivot_code

unsigned int CMAparameters::m_first_pivot_code {0}
protectedinherited

Definition at line 93 of file CMAparameters.h.

◆ m_highPt

int(* CMAparameters::m_highPt)[2][confirm_channels] {}
protectedinherited

Definition at line 102 of file CMAparameters.h.

◆ m_highPt_program

std::unique_ptr<CMAprogram> CMAparameters::m_highPt_program
protectedinherited

Definition at line 105 of file CMAparameters.h.

◆ m_highPt_rpc_read

int CMAparameters::m_highPt_rpc_read {0}
protectedinherited

Definition at line 91 of file CMAparameters.h.

◆ m_highPt_start_ch

int CMAparameters::m_highPt_start_ch {-1}
protectedinherited

Definition at line 81 of file CMAparameters.h.

◆ m_highPt_start_st

int CMAparameters::m_highPt_start_st {-1}
protectedinherited

Definition at line 80 of file CMAparameters.h.

◆ m_highPt_stop_ch

int CMAparameters::m_highPt_stop_ch {-1}
protectedinherited

Definition at line 83 of file CMAparameters.h.

◆ m_highPt_stop_st

int CMAparameters::m_highPt_stop_st {-1}
protectedinherited

Definition at line 82 of file CMAparameters.h.

◆ m_highPt_WORs

WORlink RPC_CondCabling::EvenPhiCMA::m_highPt_WORs
private

Definition at line 26 of file EvenPhiCMA.h.

◆ m_id

std::unique_ptr<CMAidentity> CMAparameters::m_id
protectedinherited

Definition at line 73 of file CMAparameters.h.

◆ m_inversion

bool RPC_CondCabling::EvenPhiCMA::m_inversion {false}
private

Definition at line 28 of file EvenPhiCMA.h.

◆ m_last_highPt_code

unsigned int CMAparameters::m_last_highPt_code {0}
protectedinherited

Definition at line 98 of file CMAparameters.h.

◆ m_last_lowPt_code

unsigned int CMAparameters::m_last_lowPt_code {0}
protectedinherited

Definition at line 96 of file CMAparameters.h.

◆ m_last_pivot_code

unsigned int CMAparameters::m_last_pivot_code {0}
protectedinherited

Definition at line 94 of file CMAparameters.h.

◆ m_lowPt

int(* CMAparameters::m_lowPt)[2][confirm_channels] {}
protectedinherited

Definition at line 101 of file CMAparameters.h.

◆ m_lowPt_program

std::unique_ptr<CMAprogram> CMAparameters::m_lowPt_program
protectedinherited

Definition at line 104 of file CMAparameters.h.

◆ m_lowPt_rpc_read

int CMAparameters::m_lowPt_rpc_read {0}
protectedinherited

Definition at line 90 of file CMAparameters.h.

◆ m_lowPt_start_ch

int CMAparameters::m_lowPt_start_ch {-1}
protectedinherited

Definition at line 76 of file CMAparameters.h.

◆ m_lowPt_start_st

int CMAparameters::m_lowPt_start_st {-1}
protectedinherited

Definition at line 75 of file CMAparameters.h.

◆ m_lowPt_stop_ch

int CMAparameters::m_lowPt_stop_ch {-1}
protectedinherited

Definition at line 78 of file CMAparameters.h.

◆ m_lowPt_stop_st

int CMAparameters::m_lowPt_stop_st {-1}
protectedinherited

Definition at line 77 of file CMAparameters.h.

◆ m_lowPt_WORs

WORlink RPC_CondCabling::EvenPhiCMA::m_lowPt_WORs
private

Definition at line 25 of file EvenPhiCMA.h.

◆ m_name

std::string BaseObject::m_name
privateinherited

Definition at line 16 of file BaseObject.h.

◆ m_number

int CablingObject::m_number {0}
privateinherited

Definition at line 12 of file CablingObject.h.

◆ m_params

defineParams CMAparameters::m_params {}
privateinherited

Definition at line 59 of file CMAparameters.h.

◆ m_pivot

int(* CMAparameters::m_pivot)[2][pivot_channels] {}
protectedinherited

Definition at line 100 of file CMAparameters.h.

◆ m_pivot_rpc_read

int CMAparameters::m_pivot_rpc_read {0}
protectedinherited

Definition at line 89 of file CMAparameters.h.

◆ m_pivot_WORs

WORlink RPC_CondCabling::EvenPhiCMA::m_pivot_WORs
private

Definition at line 24 of file EvenPhiCMA.h.

◆ m_sector_type

int CablingObject::m_sector_type {0}
privateinherited

Definition at line 14 of file CablingObject.h.

◆ m_station

int CablingObject::m_station {0}
privateinherited

Definition at line 13 of file CablingObject.h.

◆ m_tag

ObjectType BaseObject::m_tag
privateinherited

Definition at line 15 of file BaseObject.h.

◆ pivot_channels

constexpr int CMAparameters::pivot_channels = 32
staticconstexprinherited

Definition at line 69 of file CMAparameters.h.


The documentation for this class was generated from the following files:
CMAparameters::Simulation
@ Simulation
Definition: CMAparameters.h:23
CMAparameters::two_obj_error_message
std::string two_obj_error_message(const std::string &, CMAparameters *)
Definition: CMAparameters.cxx:516
CMAparameters::highPt_start_st
int highPt_start_st() const
Definition: CMAparameters.cxx:39
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
CMAparameters::defineParams::pivotStopChan
int pivotStopChan
RPC chamber to which the RPC strip belongs.
Definition: CMAparameters.h:39
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
CMAparameters::m_highPt_stop_st
int m_highPt_stop_st
Definition: CMAparameters.h:82
beamspotman.r
def r
Definition: beamspotman.py:676
RPCdecoder
Definition: RPCdecoder.h:13
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
CMAparameters::lowPt_station
int lowPt_station() const
Definition: CMAparameters.cxx:49
DiTauMassTools::TauTypes::lh
@ lh
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:49
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
CMAparameters::showMt
void showMt(char[][90], int, TrigType, int layer) const
Definition: CMAparameters.cxx:339
CMAparameters::whichCMAstation
int whichCMAstation(CMAinput input) const
Definition: CMAparameters.cxx:567
RPC_CondCabling::SectorLogicSetup::SECTORlist
std::list< int > SECTORlist
Definition: SectorLogicSetup.h:32
CMAparameters::defineParams::lowPtStation
int lowPtStation
RPC station number giving input to pivot chs.
Definition: CMAparameters.h:34
max
#define max(a, b)
Definition: cfImp.cxx:41
CMAparameters::highPt_stop_co
int highPt_stop_co() const
Definition: CMAparameters.cxx:31
CablingObject::m_station
int m_station
Definition: CablingObject.h:13
CMAparameters::highPt_start_ch
int highPt_start_ch() const
Definition: CMAparameters.cxx:40
RPC_CondCabling::WiredOR::connected_rpc
const RPCchamber * connected_rpc(int) const
Definition: WiredOR.cxx:48
CMAparameters::defineParams::pivotStation
int pivotStation
Definition: CMAparameters.h:33
CMAparameters::defineParams::highPtStartCo
int highPtStartCo
Number of connectors giving input to the matrix.
Definition: CMAparameters.h:46
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
RPC_CondCabling::EvenPhiCMA::inversion
bool inversion() const
Definition: EvenPhiCMA.cxx:21
LArBadChanBlobUtils::Channel
Identifier32::value_type Channel
Definition: LArBadChanBlobUtils.h:24
Pivot
@ Pivot
Definition: CMAparameters.h:18
BaseObject::m_name
std::string m_name
Definition: BaseObject.h:16
Inversion
@ Inversion
Definition: CMAparameters.h:19
HighPt
@ HighPt
Definition: CMAparameters.h:18
CMAparameters::CMAparameters
CMAparameters(const parseParams &parse)
Definition: CMAparameters.cxx:65
CMAparameters::m_active_lowPt_chs
int m_active_lowPt_chs
Definition: CMAparameters.h:86
CMAparameters::lowPt_program
const CMAprogram * lowPt_program() const
Definition: CMAparameters.cxx:18
RPC_CondCabling::EtaCMA
Definition: EtaCMA.h:20
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
xAOD::char
char
Definition: TrigDecision_v1.cxx:38
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
skel.it
it
Definition: skel.GENtoEVGEN.py:423
CMAparameters::m_first_highPt_code
unsigned int m_first_highPt_code
Definition: CMAparameters.h:97
CMAparameters::highPt_stop_ch
int highPt_stop_ch() const
Definition: CMAparameters.cxx:42
CMAparameters::m_first_pivot_code
unsigned int m_first_pivot_code
Definition: CMAparameters.h:93
CMAparameters::defineParams::lowPtStartCo
int lowPtStartCo
RPC chamber to which the RPC strip belongs.
Definition: CMAparameters.h:42
LowPt
@ LowPt
Definition: CMAparameters.h:18
CMAparameters::lowPt_stop_co
int lowPt_stop_co() const
Definition: CMAparameters.cxx:27
CMAparameters::m_pivot_rpc_read
int m_pivot_rpc_read
Definition: CMAparameters.h:89
RPC_CondCabling::RPCchamber::phi_strips
int phi_strips() const
Definition: RPCchamber.cxx:26
CMAprogram::check
bool check(void) const
Definition: CMAprogram.h:122
CMAparameters::m_id
std::unique_ptr< CMAidentity > m_id
Definition: CMAparameters.h:73
RPC_CondCabling::WiredOR::add_cma
void add_cma(const CMAparameters *)
Definition: WiredOR.cxx:58
detail
Definition: extract_histogram_tag.cxx:14
RPC_CondCabling::RPCchamber::chamber_name
std::string chamber_name() const
Definition: RPCchamber.cxx:33
CMAparameters::id
const CMAidentity & id() const
Definition: CMAparameters.cxx:17
PixelModuleFeMask_create_db.stop
int stop
Definition: PixelModuleFeMask_create_db.py:76
CMAparameters::m_conf_type
CMAconfiguration m_conf_type
Definition: CMAparameters.h:107
CMAparameters::defineParams::pivotStartChan
int pivotStartChan
RPC station number giving input to High Pt ch.
Definition: CMAparameters.h:37
CMAparameters::m_pivot
int(* m_pivot)[2][pivot_channels]
Definition: CMAparameters.h:100
CMAparameters::defineParams::lowPtStopCo
int lowPtStopCo
First connector (global-addr) for LowPt confirm.
Definition: CMAparameters.h:43
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
CMAparameters::m_lowPt_rpc_read
int m_lowPt_rpc_read
Definition: CMAparameters.h:90
Swap
@ Swap
Definition: CMAparameters.h:19
CMAparameters::pivot_start_st
int pivot_start_st() const
Definition: CMAparameters.cxx:22
CMAparameters::highPt_number_co
int highPt_number_co() const
Definition: CMAparameters.cxx:32
CMAparameters::m_last_lowPt_code
unsigned int m_last_lowPt_code
Definition: CMAparameters.h:96
dq_defect_copy_defect_database.channels
def channels
Definition: dq_defect_copy_defect_database.py:56
CMAparameters::confirm_channels
static constexpr int confirm_channels
Definition: CMAparameters.h:70
CMAparameters::m_highPt_stop_ch
int m_highPt_stop_ch
Definition: CMAparameters.h:83
CMAparameters::lowPt_start_co
int lowPt_start_co() const
Definition: CMAparameters.cxx:26
RPC_CondCabling::EvenPhiCMA::m_highPt_WORs
WORlink m_highPt_WORs
Definition: EvenPhiCMA.h:26
RPC_CondCabling::EvenPhiCMA::setup
bool setup(SectorLogicSetup &, MsgStream &)
Definition: EvenPhiCMA.cxx:565
CablingObject::station
int station() const
Definition: CablingObject.cxx:13
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
CMAparameters::lowPt_start_ch
int lowPt_start_ch() const
Definition: CMAparameters.cxx:35
RPCdecoder::code
unsigned int code(void) const
Definition: RPCdecoder.h:64
SG::Linked
@ Linked
Mark that this variable is linked to another one.
Definition: AuxTypes.h:77
CMAparameters::m_highPt
int(* m_highPt)[2][confirm_channels]
Definition: CMAparameters.h:102
CMAparameters::m_lowPt_stop_st
int m_lowPt_stop_st
Definition: CMAparameters.h:77
CMAparameters::defineParams::lowPtNumCo
int lowPtNumCo
Last connector (global-addr) for LowPt confirm.
Definition: CMAparameters.h:44
CMAparameters::m_first_lowPt_code
unsigned int m_first_lowPt_code
Definition: CMAparameters.h:95
python.ConfigurableDb.conf
def conf
Definition: ConfigurableDb.py:282
CMAparameters::defineParams::highPtStation
int highPtStation
RPC station number giving input to Low Pt ch.
Definition: CMAparameters.h:35
CMAparameters::m_active_pivot_chs
int m_active_pivot_chs
Definition: CMAparameters.h:85
CMAparameters::m_highPt_rpc_read
int m_highPt_rpc_read
Definition: CMAparameters.h:91
lumiFormat.i
int i
Definition: lumiFormat.py:92
RPC_CondCabling::RPCchamber::stationEta
int stationEta() const
Definition: RPCchamber.cxx:35
CMAparameters::pivot_station
int pivot_station() const
Definition: CMAparameters.cxx:48
RPC_CondCabling::EvenPhiCMA::get_max_strip_readout
int get_max_strip_readout(int)
Definition: EvenPhiCMA.cxx:541
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
CMAparameters::m_active_highPt_chs
int m_active_highPt_chs
Definition: CMAparameters.h:87
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
CMAparameters::m_highPt_program
std::unique_ptr< CMAprogram > m_highPt_program
Definition: CMAparameters.h:105
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
CablingObject::error_header
std::string error_header() const
Definition: CablingObject.cxx:22
CalibCoolCompareRT.up
up
Definition: CalibCoolCompareRT.py:109
BaseObject::name
std::string name() const
Definition: BaseObject.h:23
RPC_CondCabling::WiredOR::add_even_read_mul
void add_even_read_mul(ReadoutCh &)
Definition: WiredOR.cxx:60
CMAparameters::m_params
defineParams m_params
Definition: CMAparameters.h:59
CMAparameters::m_last_highPt_code
unsigned int m_last_highPt_code
Definition: CMAparameters.h:98
CMAparameters::operator=
CMAparameters & operator=(const CMAparameters &)
Definition: CMAparameters.cxx:138
CMAparameters::m_lowPt_stop_ch
int m_lowPt_stop_ch
Definition: CMAparameters.h:78
CMAparameters::defineParams::pivotStopStation
int pivotStopStation
Definition: CMAparameters.h:40
CMAparameters::m_lowPt
int(* m_lowPt)[2][confirm_channels]
Definition: CMAparameters.h:101
CMAparameters::highPt_program
const CMAprogram * highPt_program() const
Definition: CMAparameters.cxx:19
RPC_CondCabling::WiredOR::give_max_phi_strips
int give_max_phi_strips() const
Definition: WiredOR.cxx:34
CMAparameters::noMoreChannels
std::string noMoreChannels(const std::string &stat)
Definition: CMAparameters.cxx:481
CMAparameters::lowPt_start_st
int lowPt_start_st() const
Definition: CMAparameters.cxx:34
CMAparameters::create_lowPt_map
void create_lowPt_map(int)
Definition: CMAparameters.cxx:236
CablingObject::m_sector_type
int m_sector_type
Definition: CablingObject.h:14
CMAparameters::no_wor_readout
std::string no_wor_readout(int, int)
Definition: CMAparameters.cxx:540
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
pyroot.display
display
Definition: pyroot.py:44
beamspotman.stat
stat
Definition: beamspotman.py:266
CMAparameters::defineParams::highPtNumCo
int highPtNumCo
Last connector (global-addr) for HiPt confirm.
Definition: CMAparameters.h:48
CMAprogram
Definition: CMAprogram.h:11
RPC_CondCabling::EvenPhiCMA::pivot_WORs
const WORlink & pivot_WORs() const
Definition: EvenPhiCMA.cxx:17
beamspotman.dir
string dir
Definition: beamspotman.py:623
RPC_CondCabling::EvenPhiCMA::cable_CMA_channels
bool cable_CMA_channels(void)
Definition: EvenPhiCMA.cxx:69
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
REPORT_MESSAGE_WITH_CONTEXT
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:345
RPC_CondCabling::EvenPhiCMA::lowPt_WORs
const WORlink & lowPt_WORs() const
Definition: EvenPhiCMA.cxx:18
CMAidentity::Ixx_index
int Ixx_index() const
Definition: CMAidentity.cxx:123
pmontree.code
code
Definition: pmontree.py:443
CMAparameters::create_highPt_map
void create_highPt_map(int)
Definition: CMAparameters.cxx:245
RPC_CondCabling::EvenPhiCMA::m_pivot_WORs
WORlink m_pivot_WORs
Definition: EvenPhiCMA.h:24
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
CMAparameters::defineParams::highPtStopCo
int highPtStopCo
First connector (global-addr) for HiPt confirm.
Definition: CMAparameters.h:47
Low
@ Low
Definition: TRIGGERidentity.h:17
CMAparameters::m_highPt_start_ch
int m_highPt_start_ch
Definition: CMAparameters.h:81
RPC_CondCabling::RPCchamber::ijk_phiReadout
int ijk_phiReadout() const
Definition: RPCchamber.cxx:31
RPC_CondCabling::RPCchamber
Definition: RPCchamber.h:23
CablingObject::number
int number() const
Definition: CablingObject.cxx:12
Suppression
@ Suppression
Definition: CMAparameters.h:19
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
CablingObject::m_number
int m_number
Definition: CablingObject.h:12
CMAparameters::lowPt_stop_st
int lowPt_stop_st() const
Definition: CMAparameters.cxx:36
CMAparameters::whichCMAinput
CMAinput whichCMAinput(int) const
Definition: CMAparameters.cxx:556
CMAparameters::lowPt_stop_ch
int lowPt_stop_ch() const
Definition: CMAparameters.cxx:37
CMAparameters::m_lowPt_start_ch
int m_lowPt_start_ch
Definition: CMAparameters.h:76
RPC_CondCabling::EvenPhiCMA::m_lowPt_WORs
WORlink m_lowPt_WORs
Definition: EvenPhiCMA.h:25
RPC_CondCabling::WiredOR
Definition: WiredOR.h:26
CMAparameters::Print
virtual void Print(std::ostream &, bool) const override
Definition: CMAparameters.cxx:476
CMAparameters::highPt_station
int highPt_station() const
Definition: CMAparameters.cxx:50
RPC_CondCabling::EvenPhiCMA::connect
bool connect(SectorLogicSetup &)
Definition: EvenPhiCMA.cxx:394
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
CMAparameters::m_last_pivot_code
unsigned int m_last_pivot_code
Definition: CMAparameters.h:94
lumiFormat.fill
fill
Definition: lumiFormat.py:111
NoInput
@ NoInput
Definition: CMAparameters.h:18
BaseObject::m_tag
ObjectType m_tag
Definition: BaseObject.h:15
High
@ High
Definition: TRIGGERidentity.h:17
RPC_CondCabling::EvenPhiCMA::m_inversion
bool m_inversion
Definition: EvenPhiCMA.h:28
CMAparameters::lowPt_number_co
int lowPt_number_co() const
Definition: CMAparameters.cxx:28
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DeMoScan.first
bool first
Definition: DeMoScan.py:534
CMAparameters::highPt_stop_st
int highPt_stop_st() const
Definition: CMAparameters.cxx:41
DEBUG
#define DEBUG
Definition: page_access.h:11
RPC_CondCabling::EvenPhiCMA
Definition: EvenPhiCMA.h:20
CMAparameters::m_highPt_start_st
int m_highPt_start_st
Definition: CMAparameters.h:80
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
CMAparameters::m_lowPt_program
std::unique_ptr< CMAprogram > m_lowPt_program
Definition: CMAparameters.h:104
CMAparameters::pivot_start_ch
int pivot_start_ch() const
Definition: CMAparameters.cxx:21
CMAparameters::showDt
void showDt(std::ostream &, int layer) const
Definition: CMAparameters.cxx:293
CablingObject::no_connection_error
std::string no_connection_error(const std::string &, int) const
Definition: CablingObject.cxx:30
CMAparameters::get_channel
bool get_channel(CMAinput, int, int &, int &) const
Definition: CMAparameters.cxx:583
CMAparameters::pivot_channels
static constexpr int pivot_channels
Definition: CMAparameters.h:69
CMAparameters::defineParams::pivotStartStation
int pivotStartStation
Definition: CMAparameters.h:38
CMAparameters::create_pivot_map
void create_pivot_map(int)
Definition: CMAparameters.cxx:227
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
RPC_CondCabling::EvenPhiCMA::get_confirm_strip_boundaries
void get_confirm_strip_boundaries(int, int)
Definition: EvenPhiCMA.cxx:516
RPC_CondCabling::WiredOR::RPCacquired
int RPCacquired() const
Definition: WiredOR.h:89
CMAparameters::Atlas
@ Atlas
Definition: CMAparameters.h:23
CMAparameters::pivot_stop_ch
int pivot_stop_ch() const
Definition: CMAparameters.cxx:23
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
python.compareTCTs.ln
ln
Definition: compareTCTs.py:296
Shift
@ Shift
Definition: CMAparameters.h:19
RPC_CondCabling::EvenPhiCMA::highPt_WORs
const WORlink & highPt_WORs() const
Definition: EvenPhiCMA.cxx:19
CMAparameters::highPt_start_co
int highPt_start_co() const
Definition: CMAparameters.cxx:30
CablingObject::sector_type
int sector_type() const
Definition: CablingObject.cxx:14
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
CMAparameters::pivot_stop_st
int pivot_stop_st() const
Definition: CMAparameters.cxx:24
CMAprogram::registers
const bool * registers(void) const
Definition: CMAprogram.h:119
CMAparameters::m_lowPt_start_st
int m_lowPt_start_st
Definition: CMAparameters.h:75
RPC_CondCabling::WiredOR::RPClink
std::map< int, const RPCchamber *, std::less< int > > RPClink
Definition: WiredOR.h:28
fitman.k
k
Definition: fitman.py:528
Atlas
Definition: Atlas.UnixStandardJob.py:1