7 template <
class T,
class V>
9 if (digi.fiberIdleOffset() == -1000)
return;
14 int capid_shift = (favorite_capid - digi[0].capid());
16 while (capid_shift < 0) capid_shift += 4;
18 int idle_shift = digi.fiberIdleOffset();
20 while (idle_shift < 0) idle_shift += 4;
22 if (capid_shift != idle_shift) {
25 else if (capid_shift == 0) {
28 else if (capid_shift == 2) {
36 rechit =
T(rechit.id(), rechit.energy(), rechit.time() +
37 ( capid_shift == 1 ? -25 : +25 )
39 rechit.setFlagField(1,(capid_shift == 1 ?
64 makeCorrection<HBHERecHit, HBHEDataFrame>(rechit, digi, favorite_capid);
69 makeCorrection<HORecHit, HODataFrame>(rechit, digi, favorite_capid);
74 makeCorrection<HFRecHit, HFDataFrame>(rechit, digi, favorite_capid);
void makeCorrection(T &rechit, const V &digi, int favorite_capid)
static void Correct(HBHERecHit &rechit, const HBHEDataFrame &digi, int favorite_capid)