CMS 3D CMS Logo

EcalCommon.cc
Go to the documentation of this file.
1 #include <cmath>
2 #include <stdexcept>
3 
5 
6 using namespace std;
7 
8 int EcalCommon::crystalToTriggerTower(int xtal) noexcept(false) {
9  if (xtal < 1 || xtal > 1700) {
10  throw(std::runtime_error("ERROR: crystalToTriggerTower: crystal number out of bounds"));
11  }
12 
13  int i = (int)floor((xtal - 1) / 20.0);
14  int j = (xtal - 1) - 20 * i;
15  int tti = (int)floor(i / 5.0);
16  int ttj = (int)floor(j / 5.0);
17  int tt = ttj + 4 * tti + 1;
18 
19  return tt;
20 }
static int crystalToTriggerTower(int xtal) noexcept(false)
Definition: EcalCommon.cc:8