Loading src/core/geometry/Detector.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -54,9 +54,10 @@ void Detector::set_model(std::shared_ptr<DetectorModel> model) { model_ = std::move(model); // Initialize the detector fields with the model parameters: electric_field_.set_model_parameters(model_->getSensorCenter(), model_->getSensorSize(), model_->getPixelSize()); weighting_potential_.set_model_parameters(model_->getSensorCenter(), model_->getSensorSize(), model_->getPixelSize()); doping_profile_.set_model_parameters(model_->getSensorCenter(), model_->getSensorSize(), model_->getPixelSize()); auto matrix_size = model_->getGridSize() + ROOT::Math::XYZVector(0, 0, model_->getSensorSize().z()); electric_field_.set_model_parameters(model_->getSensorCenter(), matrix_size, model_->getPixelSize()); weighting_potential_.set_model_parameters(model_->getSensorCenter(), matrix_size, model_->getPixelSize()); doping_profile_.set_model_parameters(model_->getSensorCenter(), matrix_size, model_->getPixelSize()); build_transform(); } Loading src/core/geometry/DetectorField.tpp +7 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,13 @@ namespace allpix { if(type_ == FieldType::NONE) { return {}; } // Do not extend into sensor excess if(pos.x() + pixel_size_.x() / 2.0 < 0 || pos.x() + pixel_size_.x() / 2.0 > sensor_size_.x()) { return {}; } if(pos.y() + pixel_size_.y() / 2.0 < 0 || pos.y() + pixel_size_.y() / 2.0 > sensor_size_.y()) { return {}; } // Shift the coordinates by the offset configured for the field: auto x = pos.x() + offset_[0]; Loading Loading
src/core/geometry/Detector.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -54,9 +54,10 @@ void Detector::set_model(std::shared_ptr<DetectorModel> model) { model_ = std::move(model); // Initialize the detector fields with the model parameters: electric_field_.set_model_parameters(model_->getSensorCenter(), model_->getSensorSize(), model_->getPixelSize()); weighting_potential_.set_model_parameters(model_->getSensorCenter(), model_->getSensorSize(), model_->getPixelSize()); doping_profile_.set_model_parameters(model_->getSensorCenter(), model_->getSensorSize(), model_->getPixelSize()); auto matrix_size = model_->getGridSize() + ROOT::Math::XYZVector(0, 0, model_->getSensorSize().z()); electric_field_.set_model_parameters(model_->getSensorCenter(), matrix_size, model_->getPixelSize()); weighting_potential_.set_model_parameters(model_->getSensorCenter(), matrix_size, model_->getPixelSize()); doping_profile_.set_model_parameters(model_->getSensorCenter(), matrix_size, model_->getPixelSize()); build_transform(); } Loading
src/core/geometry/DetectorField.tpp +7 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,13 @@ namespace allpix { if(type_ == FieldType::NONE) { return {}; } // Do not extend into sensor excess if(pos.x() + pixel_size_.x() / 2.0 < 0 || pos.x() + pixel_size_.x() / 2.0 > sensor_size_.x()) { return {}; } if(pos.y() + pixel_size_.y() / 2.0 < 0 || pos.y() + pixel_size_.y() / 2.0 > sensor_size_.y()) { return {}; } // Shift the coordinates by the offset configured for the field: auto x = pos.x() + offset_[0]; Loading