Loading src/core/geometry/PixelDetectorModel.cpp +13 −9 Original line number Diff line number Diff line Loading @@ -43,12 +43,15 @@ void PixelDetectorModel::validate() { implant.getConfiguration(), "size", "implant depth cannot be larger than sensor thickness"); } // Check the offset only for front-side implants, backside implants are allowed to overlap: if(implant.getType() == Implant::Type::BACKSIDE) { continue; // For backside implants, only check that the center of the implant lies within the pixel cell: if(std::fabs(implant.getOffset().x()) > pixel_size_.x() / 2 || std::fabs(implant.getOffset().y()) > pixel_size_.y() / 2) { throw InvalidValueError( implant.getConfiguration(), "offset", "implant offset outside cell. Reduce implant offset"); } // Offset of the collection diode implant from the pixel center, defaults to zero. } else { // For frontside implants, check that the implant lies within the pixel cell with its entire size if(std::fabs(implant.getOffset().x()) + implant.getSize().x() / 2 > pixel_size_.x() / 2 || std::fabs(implant.getOffset().y()) + implant.getSize().y() / 2 > pixel_size_.y() / 2) { throw InvalidValueError( Loading @@ -56,6 +59,7 @@ void PixelDetectorModel::validate() { } } } } /** * The definition of inside the sensor is determined by the detector model Loading Loading
src/core/geometry/PixelDetectorModel.cpp +13 −9 Original line number Diff line number Diff line Loading @@ -43,12 +43,15 @@ void PixelDetectorModel::validate() { implant.getConfiguration(), "size", "implant depth cannot be larger than sensor thickness"); } // Check the offset only for front-side implants, backside implants are allowed to overlap: if(implant.getType() == Implant::Type::BACKSIDE) { continue; // For backside implants, only check that the center of the implant lies within the pixel cell: if(std::fabs(implant.getOffset().x()) > pixel_size_.x() / 2 || std::fabs(implant.getOffset().y()) > pixel_size_.y() / 2) { throw InvalidValueError( implant.getConfiguration(), "offset", "implant offset outside cell. Reduce implant offset"); } // Offset of the collection diode implant from the pixel center, defaults to zero. } else { // For frontside implants, check that the implant lies within the pixel cell with its entire size if(std::fabs(implant.getOffset().x()) + implant.getSize().x() / 2 > pixel_size_.x() / 2 || std::fabs(implant.getOffset().y()) + implant.getSize().y() / 2 > pixel_size_.y() / 2) { throw InvalidValueError( Loading @@ -56,6 +59,7 @@ void PixelDetectorModel::validate() { } } } } /** * The definition of inside the sensor is determined by the detector model Loading