diff --git a/compact/definitions.xml b/compact/definitions.xml
index 0494bfbb3a59c0ad1eefce5c1486e8cae8b75cfe..c3fdf11792f04e55867dc73deaca7209340bd484 100644
--- a/compact/definitions.xml
+++ b/compact/definitions.xml
@@ -423,6 +423,7 @@
</comment>
<comment> BeamLines: IP6 </comment>
<constant name="ffi_ZDC_x_pos" value="90.0 * cm"/>
+ <constant name="ffi_ZDC_y_pos" value="0.0 * cm"/>
<constant name="ffi_ZDC_z_pos" value="3800.0 * cm"/>
<constant name="ffi_ZDC_rotateX_angle" value="0.0 * rad"/>
<constant name="ffi_ZDC_rotateY_angle" value="-0.0125 * rad"/>
@@ -430,6 +431,7 @@
<comment> BeamLines: IP8 </comment>
<!--<constant name="ffi_ZDC_x_pos" value="127.0 * cm"/>
+ <constant name="ffi_ZDC_y_pos" value="0.0 * cm"/>
<constant name="ffi_ZDC_z_pos" value="3600.0 * cm"/>
<constant name="ffi_ZDC_rotateX_angle" value="0.0 * rad"/>
<constant name="ffi_ZDC_rotateY_angle" value="-0.025 * rad"/>
diff --git a/compact/ffi_ZDC.xml b/compact/ffi_ZDC.xml
index 2594f5f0b961693fdf003a8e0c79ee4fbc07b117..d0992dfa21d970c6dc9f20054c0485b4521eba16 100644
--- a/compact/ffi_ZDC.xml
+++ b/compact/ffi_ZDC.xml
@@ -16,7 +16,7 @@
<detectors>
<detector id="ffi_ZDC_ID" name="ffi_ZDC" type="ffi_ZDC" readout="ffi_ZDC_Hits" vis="ffi_ZDCVis">
- <position x="ffi_ZDC_x_pos" z="ffi_ZDC_z_pos"/>
+ <position x="ffi_ZDC_x_pos" y="ffi_ZDC_y_pos" z="ffi_ZDC_z_pos"/>
<rotation x="ffi_ZDC_rotateX_angle" y="ffi_ZDC_rotateY_angle" z="ffi_ZDC_rotateZ_angle"/>
<dimensions x="ffi_ZDC_width" z="ffi_ZDC_thickness"/>
</detector>
@@ -25,7 +25,7 @@
<readouts>
<readout name="ffi_ZDC_Hits">
<segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" />
- <id>system:8,module:12,x:48:-8,y:-8</id>
+ <id>system:8,module:12,x:32:-16,y:-16</id>
</readout>
</readouts>
diff --git a/src/ffi_ZDC.cpp b/src/ffi_ZDC.cpp
index 27b3f42c0b49fa732e0bbae430bbe74f2a665557..82ce4481a769f88cc761b0f6efbc1d1fa997b5cb 100644
--- a/src/ffi_ZDC.cpp
+++ b/src/ffi_ZDC.cpp
@@ -17,18 +17,10 @@ static Ref_t createDetector(Detector& desc, xml_h e, SensitiveDetector sens)
double Thickness = dim.z();
xml_dim_t pos = x_det.position();
- double x_pos = dd4hep::getAttrOrDefault(pos, _Unicode(x),0.0);
- double z_pos = dd4hep::getAttrOrDefault(pos, _Unicode(z),0.0);
-
xml_dim_t rot = x_det.rotation();
- double x_rot = dd4hep::getAttrOrDefault(rot, _Unicode(x),0.0);
- double y_rot = dd4hep::getAttrOrDefault(rot, _Unicode(y),0.0);
- double z_rot = dd4hep::getAttrOrDefault(rot, _Unicode(z),0.0);
Material Vacuum = desc.material("Vacuum");
- std::cout << "positions: " << x_pos << " , " << z_pos << std::endl;
-
// Create Global Volume
Box ffi_ZDC_GVol_Solid(Width * 0.5, Width * 0.5, Thickness * 0.5);
Volume detVol("ffi_ZDC_GVol_Logic", ffi_ZDC_GVol_Solid, Vacuum);
@@ -37,7 +29,7 @@ static Ref_t createDetector(Detector& desc, xml_h e, SensitiveDetector sens)
DetElement det(detName, detID);
Volume motherVol = desc.pickMotherVolume(det);
- Transform3D tr(RotationZYX(z_rot, y_rot, x_rot), Position(x_pos, 0., z_pos));
+ Transform3D tr(RotationZYX(rot.z(), rot.y(), rot.x()), Position(pos.x(), pos.y(), pos.z()));
PlacedVolume detPV = motherVol.placeVolume(detVol, tr);
det.setPlacement(detPV);
return det;