mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2026-06-04 07:38:42 +02:00
Add more generators
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user