I'm building an example in which the volumes of the readout geometry DO NOT touch. I had to change G4SmartVoxelHeader::BuilReplicaVoxels lines 230:231 fminExtent= -(width + offset) * nReplicas * 0.5; fmaxExtent= (width + offset) * nReplicas * 0.5; to allow for these RO geometries... original is fminExtent= -width*nReplicas * 0.5; fmaxExtent= width*nReplicas * 0.5; If offset if > 0.05 of the size that causes an exception...
The specifications for G4PVReplica foresee that a replica is 'slicing' the mother volume and therefore the whole mother volume must be filled by replicas and have no offsets. You should use placements instead in your case.