10 VMRouterTable::VMRouterTable(
Settings const& settings) : settings_(settings) {}
40 for (
int izbin = 0; izbin <
zbins_; izbin++) {
41 for (
int irbin = 0; irbin <
rbins_; irbin++) {
43 double z =
zmin_ + (izbin + 0.5) *
dz_;
45 if (layerdisk > (
N_LAYER - 1) && irbin < 10)
72 if (layerdisk == 0 || layerdisk == 2 || layerdisk == 4 || layerdisk == 6 || layerdisk == 8) {
96 if (layerdisk == 0 || layerdisk == 1) {
112 double rratio1 = rmean / (
r + 0.5 *
dr_);
113 double rratio2 = rmean / (
r - 0.5 *
dr_);
115 double z1 = (z - 0.5 *
dz_) * rratio1 + z0cut * (rratio1 - 1.0);
116 double z2 = (z + 0.5 *
dz_) * rratio1 + z0cut * (rratio1 - 1.0);
117 double z3 = (z - 0.5 *
dz_) * rratio2 + z0cut * (rratio2 - 1.0);
118 double z4 = (z + 0.5 *
dz_) * rratio2 + z0cut * (rratio2 - 1.0);
119 double z5 = (z - 0.5 *
dz_) * rratio1 - z0cut * (rratio1 - 1.0);
120 double z6 = (z + 0.5 *
dz_) * rratio1 - z0cut * (rratio1 - 1.0);
121 double z7 = (z - 0.5 *
dz_) * rratio2 - z0cut * (rratio2 - 1.0);
122 double z8 = (z + 0.5 *
dz_) * rratio2 - z0cut * (rratio2 - 1.0);
152 int value = zbin1 / 8;
154 if (zbin2 / 8 - zbin1 / 8 > 0)
157 value += (zbin1 & 7);
159 int deltaz = zbin2 - zbin1;
164 value += (deltaz << 7);
176 double r1 = (
r + 0.5 *
dr_) * (zmean + z0cut) / (z + 0.5 *
dz_ + z0cut);
177 double r2 = (
r - 0.5 *
dr_) * (zmean - z0cut) / (z + 0.5 *
dz_ - z0cut);
178 double r3 = (
r + 0.5 *
dr_) * (zmean + z0cut) / (z - 0.5 *
dz_ + z0cut);
179 double r4 = (
r - 0.5 *
dr_) * (zmean - z0cut) / (z - 0.5 *
dz_ - z0cut);
180 double r5 = (
r + 0.5 *
dr_) * (zmean - z0cut) / (z + 0.5 *
dz_ - z0cut);
181 double r6 = (
r - 0.5 *
dr_) * (zmean + z0cut) / (z + 0.5 *
dz_ + z0cut);
182 double r7 = (
r + 0.5 *
dr_) * (zmean - z0cut) / (z - 0.5 *
dz_ - z0cut);
183 double r8 = (
r - 0.5 *
dr_) * (zmean + z0cut) / (z - 0.5 *
dz_ + z0cut);
185 double rmin =
std::min({
r1,
r2, r3, r4, r5, r6, r7, r8});
186 double rmax =
std::max({
r1,
r2, r3, r4, r5, r6, r7, r8});
214 constexpr
double rminspec = 40.0;
236 int value = rbin1 / 8;
242 if (rbin2 / 8 - rbin1 / 8 > 0)
245 value += (rbin1 & 7);
247 int deltar = rbin2 - rbin1;