1 #ifndef SI_PIXEL_TEMPLATE_STANDALONE 19 float upper_edge_first_pix,
20 float lower_edge_last_pix,
25 float pitchfraction_first,
26 float pitchfraction_last,
27 float eff_charge_cut_low,
28 float eff_charge_cut_high,
31 float geom_center = 0.5f * (upper_edge_first_pix + lower_edge_last_pix);
42 float w_inner = lower_edge_last_pix - upper_edge_first_pix;
45 float w_pred = theThickness * cot_angle
49 float sum_of_edge = pitchfraction_first + pitchfraction_last;
52 float w_eff =
std::abs(w_pred) - w_inner;
60 if ((size >= size_cut) || ((w_eff / pitch < eff_charge_cut_low) | (w_eff / pitch > eff_charge_cut_high))) {
61 w_eff = pitch * 0.5f * sum_of_edge;
66 float q_diff = q_l - q_f;
67 float q_sum = q_l + q_f;
73 float hit_pos = geom_center + 0.5f * (q_diff / q_sum) * w_eff;
Abs< T >::type abs(const T &t)
float generic_position_formula(int size, int q_f, int q_l, float upper_edge_first_pix, float lower_edge_last_pix, float lorentz_shift, float theThickness, float cot_angle, float pitch, float pitchfraction_first, float pitchfraction_last, float eff_charge_cut_low, float eff_charge_cut_high, float size_cut)