CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LASGlobalLoop.cc
Go to the documentation of this file.
1 
3 
8 
13 bool LASGlobalLoop::TECLoop(int& subdet, int& ring, int& beam, int& disk) const {
14  if (subdet > 1) {
15  std::cerr << " [LASGlobalLoop::TECLoop] ** ERROR: Endcap loop running on TIB/TOB (subdetector > 1)" << std::endl;
16  throw 1;
17  }
18 
19  ++disk;
20 
21  if (disk == 9) {
22  ++beam;
23  disk = 0;
24 
25  if (beam == 8) {
26  ++ring;
27  beam = 0;
28 
29  if (ring == 2) {
30  ++subdet;
31  ring = 0;
32 
33  if (subdet == 2)
34  return false;
35  }
36  }
37  }
38 
39  return true;
40 }
41 
46 bool LASGlobalLoop::TIBTOBLoop(int& subdet, int& beam, int& position) const {
47  if (subdet < 2) {
48  std::cerr << " [LASGlobalLoop::TIBTOBLoop] ** ERROR: Barrel loop running on TEC (subdetector < 2)" << std::endl;
49  throw 1;
50  }
51 
52  ++position;
53 
54  if (position == 6) {
55  ++beam;
56  position = 0;
57 
58  if (beam == 8) {
59  ++subdet;
60  beam = 0;
61 
62  if (subdet == 4)
63  return false;
64  }
65  }
66 
67  return true;
68 }
69 
74 bool LASGlobalLoop::TEC2TECLoop(int& subdet, int& beam, int& disk) const {
75  if (subdet > 1) {
76  std::cerr << " [LASGlobalLoop::TEC2TECLoop] ** ERROR: TEC loop running on TIB/TOB (subdetector > 1)" << std::endl;
77  throw 1;
78  }
79 
80  ++disk;
81 
82  if (disk == 5) {
83  ++beam;
84  disk = 0;
85 
86  if (beam == 8) {
87  ++subdet;
88  beam = 0;
89 
90  if (subdet == 2)
91  return false;
92  }
93  }
94 
95  return true;
96 }
bool TEC2TECLoop(int &, int &, int &) const
static int position[264][3]
Definition: ReadPGInfo.cc:289
bool TECLoop(int &, int &, int &, int &) const
bool TIBTOBLoop(int &, int &, int &) const