303 if (
m_Part == BRID )
return 0;
314 x = ( VALUE *
m_Rc + E_GP_DX + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
317 else if (
m_ID == 1 )
325 y = ( VALUE *
m_Rc + E_GP_DY + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
332 x = ( VALUE *
m_Rc + E_GP_DX + E_STRPLN_DA ) / 2.0 + OVERLAP_WIDTH / 2.0;
335 else if (
m_ID == 1 )
337 x = VALUE *
m_Rc +
sin( MUC_PI / 4.0 ) *
m_Wd / 4.0;
342 else if (
m_ID == 2 )
344 x =
m_Rc *
cos( MUC_PI / 4.0 );
345 y =
m_Rc *
sin( MUC_PI / 4.0 );
347 else if (
m_ID == 3 )
351 y = VALUE *
m_Rc +
sin( MUC_PI / 4.0 ) *
m_Wd / 4.0;
357 y = ( VALUE *
m_Rc + E_GP_DY + E_STRPLN_DA ) / 2.0 + OVERLAP_WIDTH / 2.0;
372 for (
int i = 0; i <
m_Layer + 1; i++ ) z += E_AS_TH[i];
375 z += ( ( E_AS_ZMAX - E_AS_TOTAL_TH ) + AS_GAP / 2.0 );
376 z += ( 1 - 2 *
m_UpDown ) * ( RPC_TH + STR_TH ) / 2.0;
384 for (
int i = 0; i < 3; i++ )
393 if (
m_Part != BRID )
return 0;
405 y = ( 1 - 2 *
m_UpDown ) * ( RPC_TH + STR_TH ) / 2.0;
411 z = ( 2 *
m_UpDown - 1 ) * 3 * B_RPC_LTN / 2.0;
412 else z = ( 2 *
m_UpDown - 1 ) * 3 * B_RPC_LTS / 2.0;
419 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - ( 1 + 2 *
m_ID ) * B_RPC_LTN / 2.0;
421 z = -B_BOX_LT / 2.0 + B_BOX_DZ[
m_UpDown] +
422 ( 1 + 2 * ( 3 -
m_ID ) ) * B_RPC_LTN / 2.0;
427 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - ( 1 + 2 *
m_ID ) * B_RPC_LTS / 2.0;
429 z = -B_BOX_LT / 2.0 + B_BOX_DZ[
m_UpDown] +
430 ( 1 + 2 * ( 3 -
m_ID ) ) * B_RPC_LTS / 2.0;
437 if (
m_ID > 1 ) x = 0.;
439 x = ( 1 - 2 *
m_ID ) * ( ( B_BOX_WT[
m_Layer] + B_BOX_SLOT_WT ) / 4.0 +
443 y = ( 1 - 2 *
m_UpDown ) * ( RPC_TH + STR_TH ) / 2.0;
452 if (
m_Layer == 0 ) z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - B_TOPRPC_LTS[1] / 2.0;
453 else z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - B_TOPRPC_LTS[
m_Layer % 2] / 2.0;
458 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - B_TOPRPC_LTS[1] +
459 ( 3 - 2 *
m_ID ) * B_RPC_LTN / 2.0;
462 ( 3 - 2 *
m_ID ) * B_RPC_LTN / 2.0;
465 if (
m_Layer == 0 ) z = -B_RPC_LTN - B_TOPRPC_LTS[1] / 2.0;
466 else z = -B_RPC_LTN - B_TOPRPC_LTS[
m_Layer % 2] / 2.0;
477 if (
m_Layer == 0 ) z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - B_TOPRPC_LTS[1] / 2.0;
478 else z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - B_TOPRPC_LTS[
m_Layer % 2] / 2.0;
481 if (
m_Layer == 0 ) z = B_RPC_LTN - B_TOPRPC_LTS[1] / 2.0;
482 else z = B_RPC_LTN - B_TOPRPC_LTS[
m_Layer % 2] / 2.0;
486 z = -B_BOX_LT / 2.0 + B_BOX_DZ[
m_UpDown] +
487 ( 1 + 2 * ( 4 -
m_ID ) ) * B_RPC_LTN / 2.0;
499 for (
int i = 0; i < 3; i++ )