10 VMRouterTable::VMRouterTable(
Settings const& settings) : settings_(settings) {}
13 : settings_(settings) {
41 for (
int izbin = 0; izbin <
zbins_; izbin++) {
42 for (
int irbin = 0; irbin <
rbins_; irbin++) {
44 double z =
zmin_ + (izbin + 0.5) *
dz_;
46 if (layerdisk > (
N_LAYER - 1) && irbin < 10)
73 if (layerdisk == 0 || layerdisk == 2 || layerdisk == 4 || layerdisk == 6 || layerdisk == 8) {
97 if (layerdisk == 0 || layerdisk == 1) {
107 throw cms::Exception(
"BadDir") << __FILE__ <<
" " << __LINE__ <<
" could not create directory "
114 if (layerdisk == 0 || layerdisk == 1 || layerdisk == 2 || layerdisk == 4) {
115 std::string fnamesuffix =
"L" + to_string(layerdisk + 1) +
"L" + std::to_string(layerdisk + 2);
119 if (layerdisk == 6 || layerdisk == 8) {
124 if (layerdisk == 0 || layerdisk == 1) {
125 std::string fnamesuffix =
"L" + to_string(layerdisk + 1) +
"D1";
129 if (layerdisk == 1 || layerdisk == 2 || layerdisk == 3 || layerdisk == 5) {
130 std::string fnamesuffix =
"L" + to_string(layerdisk + 1);
134 if (layerdisk == 6 || layerdisk == 7 || layerdisk == 9) {
150 double rratio1 = rmean / (
r + 0.5 *
dr_);
151 double rratio2 = rmean / (
r - 0.5 *
dr_);
153 double z1 = (z - 0.5 *
dz_) * rratio1 + z0cut * (rratio1 - 1.0);
154 double z2 = (z + 0.5 *
dz_) * rratio1 + z0cut * (rratio1 - 1.0);
155 double z3 = (z - 0.5 *
dz_) * rratio2 + z0cut * (rratio2 - 1.0);
156 double z4 = (z + 0.5 *
dz_) * rratio2 + z0cut * (rratio2 - 1.0);
157 double z5 = (z - 0.5 *
dz_) * rratio1 - z0cut * (rratio1 - 1.0);
158 double z6 = (z + 0.5 *
dz_) * rratio1 - z0cut * (rratio1 - 1.0);
159 double z7 = (z - 0.5 *
dz_) * rratio2 - z0cut * (rratio2 - 1.0);
160 double z8 = (z + 0.5 *
dz_) * rratio2 - z0cut * (rratio2 - 1.0);
190 int value = zbin1 / 8;
192 if (zbin2 / 8 - zbin1 / 8 > 0)
195 value += (zbin1 & 7);
197 int deltaz = zbin2 - zbin1;
202 value += (deltaz << 7);
214 double r1 = (
r + 0.5 *
dr_) * (zmean + z0cut) / (z + 0.5 *
dz_ + z0cut);
215 double r2 = (
r - 0.5 *
dr_) * (zmean - z0cut) / (z + 0.5 *
dz_ - z0cut);
216 double r3 = (
r + 0.5 *
dr_) * (zmean + z0cut) / (z - 0.5 *
dz_ + z0cut);
217 double r4 = (
r - 0.5 *
dr_) * (zmean - z0cut) / (z - 0.5 *
dz_ - z0cut);
218 double r5 = (
r + 0.5 *
dr_) * (zmean - z0cut) / (z + 0.5 *
dz_ - z0cut);
219 double r6 = (
r - 0.5 *
dr_) * (zmean + z0cut) / (z + 0.5 *
dz_ + z0cut);
220 double r7 = (
r + 0.5 *
dr_) * (zmean - z0cut) / (z - 0.5 *
dz_ - z0cut);
221 double r8 = (
r - 0.5 *
dr_) * (zmean + z0cut) / (z - 0.5 *
dz_ + z0cut);
223 double rmin =
std::min({
r1,
r2, r3, r4, r5, r6, r7, r8});
224 double rmax =
std::max({
r1,
r2, r3, r4, r5, r6, r7, r8});
252 constexpr
double rminspec = 40.0;
274 int value = rbin1 / 8;
280 if (rbin2 / 8 - rbin1 / 8 > 0)
283 value += (rbin1 & 7);
285 int deltar = rbin2 - rbin1;
331 throw cms::Exception(
"BadFile") << __FILE__ <<
" " << __LINE__ <<
" could not create file " <<
name;
334 for (
unsigned int i = 0;
i <
table.size();
i++) {
341 out << endl <<
"};" << endl;