18 #define DD4HEP_USE_SURFACEINSTALL_HELPER DD4hep_PolyhedraEndcapCalorimeterSurfacePlugin
22 template <
typename UserData>
29 if ( !comp_shape.isValid() || !mod_shape.
isValid() ) {
30 invalidInstaller(
"Components and/or modules are not Trapezoid -- invalid shapes");
32 else if ( !handleUsingCache(component,comp_vol) ) {
36 double dz = m.GetTranslation()[2];
37 const double* trans = placementTranslation(component);
38 double half_mod_thickness = (mod_shape->GetZ(1)-mod_shape->GetZ(0))/2.0;
39 double half_comp_thickness = (comp_shape->GetZ(1)-comp_shape->GetZ(0))/2.0;
40 double si_position = trans[2]+half_mod_thickness;
41 double outer_thickness = half_mod_thickness - si_position;
42 double inner_thickness = half_mod_thickness + si_position;
43 Vector3D u(1.,0.,0.),
v(0.,1.,0.), n(0.,0.,1.), o(100.,100.,0.);
44 std::cout <<
" Module: " << mod_shape.
toString() << std::endl;
45 std::cout <<
" Component: " << comp_shape.toString() << std::endl;
46 std::cout <<
"dz:" << dz <<
" Si-pos:" << si_position
47 <<
" Mod-thickness:" << half_mod_thickness
48 <<
" Comp-thickness:" << half_comp_thickness
51 inner_thickness, outer_thickness, u,
v, n, o);
52 addSurface(component,surf);