12 unsigned int layerdisk,
23 double phiprojderapprox,
24 double rzprojderapprox,
30 fpgaphiproj_.set(iphiproj, settings.
nphibitsstub(layerdisk),
true, __LINE__, __FILE__);
33 fpgarzproj_.set(irzproj, settings.
nzbitsstub(layerdisk),
false, __LINE__, __FILE__);
35 fpgarzproj_.set(irzproj, settings.
nrbitsstub(layerdisk),
false, __LINE__, __FILE__);
41 fpgarzprojder_.set(irzder, settings.
nbitszprojderL123(),
false, __LINE__, __FILE__);
44 fpgarzprojder_.set(irzder, settings.
nbitszprojderL456(),
false, __LINE__, __FILE__);
48 fpgarzprojder_.set(irzder, settings.
nrbitsprojderdisk(),
false, __LINE__, __FILE__);
56 int offset = isPSseed ? 1 : 4;
62 if (zbin1 >= settings.
MEBins()) {
65 if (zbin2 >= settings.
MEBins()) {
66 zbin2 = settings.
MEBins() - 1;
70 assert(zbin2 - zbin1 <= 1);
72 fpgarzbin1projvm_.set(zbin1, settings.
MEBinsBits(),
true, __LINE__, __FILE__);
74 int nextbin = zbin1 != zbin2;
75 fpgarzbin2projvm_.set(nextbin, 1,
true, __LINE__, __FILE__);
80 fpgafinerzvm_.set(finez,
NFINERZBITS + 1,
true, __LINE__, __FILE__);
94 rbin2 = clamp(rbin2, 0, 7);
97 assert(rbin2 - rbin1 <= 1);
104 finer = clamp(finer, 0, 15);
106 int diff = rbin1 != rbin2;
110 fpgarzbin1projvm_.set(rbin1, 4,
true, __LINE__, __FILE__);
111 fpgarzbin2projvm_.set(
diff, 1,
true, __LINE__, __FILE__);
113 fpgafinerzvm_.set(finer, 4,
true, __LINE__, __FILE__);
118 (fpgaphiproj_.value() >>
121 fpgafinephivm_.set(projfinephi,
NFINEPHIBITS,
true, __LINE__, __FILE__);
125 phiprojder_ = phiprojder;
126 rzprojder_ = rzprojder;
128 phiprojapprox_ = phiprojapprox;
129 rzprojapprox_ = rzprojapprox;
130 phiprojderapprox_ = phiprojderapprox;
131 rzprojderapprox_ = rzprojderapprox;