Add more generators
Build on RHEL9 / build (push) Successful in 2m37s
Build on RHEL8 / build (push) Successful in 3m2s
Run tests using data on local RHEL8 / build (push) Successful in 3m50s

This commit is contained in:
2026-06-01 17:11:57 +02:00
parent 47ebbd2267
commit 4b8d71a452
+58
View File
@@ -5,6 +5,9 @@
namespace aare::remap::generate {
/************************************
* Single chip, multi-pitch, iLGAD
************************************/
inline defs::StrixelGroupToPixelMap
jungfrau_ilgad_singlechip_25um_strixel_map(InclusiveROI rx_roi,
defs::SensorPlacement placement,
@@ -54,6 +57,61 @@ jungfrau_ilgad_singlechip_multipitch_strixel_maps(InclusiveROI rx_roi,
return algo::strixel_to_pixel_maps(configs, placements, rx_roi, bs);
};
/************************************
* Single chip, multi-pitch, TEW
************************************/
inline defs::StrixelGroupToPixelMap
jungfrau_tew_singlechip_25um_strixel_map(InclusiveROI rx_roi,
defs::SensorPlacement placement,
defs::BondShift bs = {0, 0}) {
return algo::strixel_to_pixel_map(config::jungfrau::SingleChipMP_TEW_P25,
placement, rx_roi, bs);
}
inline defs::StrixelGroupToPixelMap
jungfrau_tew_singlechip_15um_strixel_map(InclusiveROI rx_roi,
defs::SensorPlacement placement,
defs::BondShift bs = {0, 0}) {
return algo::strixel_to_pixel_map(config::jungfrau::SingleChipMP_TEW_P15,
placement, rx_roi, bs);
};
inline defs::StrixelGroupToPixelMap
jungfrau_tew_singlechip_18um_strixel_map(InclusiveROI rx_roi,
defs::SensorPlacement placement,
defs::BondShift bs = {0, 0}) {
return algo::strixel_to_pixel_map(config::jungfrau::SingleChipMP_TEW_P18,
placement, rx_roi, bs);
};
inline std::vector<defs::StrixelGroupToPixelMap>
jungfrau_tew_singlechip_multipitch_strixel_maps(InclusiveROI rx_roi,
int chip_id = 1,
defs::BondShift bs = {0, 0}) {
defs::SensorPlacement placement;
if (chip_id == 1)
placement = config::jungfrau::Chip1;
else if (chip_id == 6)
placement = config::jungfrau::Chip6;
else {
// or allow user-defined sensor placement
// (that would mean something like std::optional<int> chip_id and
// std::optional<InclusiveROI> sensor_placement)
throw std::runtime_error("Invalid sensor placement.");
}
defs::SensorConfig configs{{config::jungfrau::SingleChipMP_TEW_P25,
config::jungfrau::SingleChipMP_TEW_P15,
config::jungfrau::SingleChipMP_TEW_P18}};
std::vector<defs::SensorPlacement> placements(configs.group_configs.size(),
placement);
return algo::strixel_to_pixel_maps(configs, placements, rx_roi, bs);
};
/************************************
* Quad, 25 um, iLGAD
************************************/
inline defs::StrixelGroupToPixelMap
jungfrau_ilgad_quadhalf_25um_strixel_map(InclusiveROI rx_roi,
defs::SensorPlacement placement) {