Skip to content
Open
28 changes: 28 additions & 0 deletions src/IO/InterfileHeader.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,12 @@ InterfilePDFSHeader::InterfilePDFSHeader()
num_transaxial_crystals_per_block = 0;
add_key("number of crystals_per_block in transaxial direction",
&num_transaxial_crystals_per_block);
num_virtual_axial_crystals_per_block = 0;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems we'd need some bucket stuff here as well

add_key("number of virtual crystals_per_block in axial direction",
&num_virtual_axial_crystals_per_block);
num_virtual_transaxial_crystals_per_block = 0;
add_key("number of virtual crystals_per_block in transaxial direction",
&num_virtual_transaxial_crystals_per_block);
num_axial_crystals_per_singles_unit = -1;
add_key("number of crystals_per_singles_unit in axial direction",
&num_axial_crystals_per_singles_unit);
Expand Down Expand Up @@ -1095,6 +1101,10 @@ bool InterfilePDFSHeader::post_processing()
num_axial_crystals_per_block = guessed_scanner_ptr->get_num_axial_crystals_per_block();
if (num_transaxial_crystals_per_block<=0)
num_transaxial_crystals_per_block = guessed_scanner_ptr->get_num_transaxial_crystals_per_block();
if (num_virtual_axial_crystals_per_block<=0)
num_virtual_axial_crystals_per_block = guessed_scanner_ptr->get_num_virtual_axial_crystals_per_block();
if (num_virtual_transaxial_crystals_per_block<=0)
num_virtual_transaxial_crystals_per_block = guessed_scanner_ptr->get_num_virtual_transaxial_crystals_per_block();
if (num_axial_crystals_per_singles_unit < 0)
num_axial_crystals_per_singles_unit =
guessed_scanner_ptr->get_num_axial_crystals_per_singles_unit();
Expand Down Expand Up @@ -1192,6 +1202,22 @@ bool InterfilePDFSHeader::post_processing()
num_transaxial_crystals_per_block, guessed_scanner_ptr->get_num_transaxial_crystals_per_block());
mismatch_between_header_and_guess = true;
}
if (
guessed_scanner_ptr->get_num_virtual_axial_crystals_per_block()>=0 &&
num_virtual_axial_crystals_per_block!= guessed_scanner_ptr->get_num_virtual_axial_crystals_per_block())
{
warning("Interfile warning: num_virtual_axial_crystals_per_block (%d) is expected to be %d.\n",
num_virtual_axial_crystals_per_block, guessed_scanner_ptr->get_num_virtual_axial_crystals_per_block());
mismatch_between_header_and_guess = true;
}
if (
guessed_scanner_ptr->get_num_virtual_transaxial_crystals_per_block()>0 &&
num_virtual_transaxial_crystals_per_block!= guessed_scanner_ptr->get_num_virtual_transaxial_crystals_per_block())
{
warning("Interfile warning: num_transaxial_crystals_per_block (%d) is expected to be %d.\n",
num_transaxial_crystals_per_block, guessed_scanner_ptr->get_num_transaxial_crystals_per_block());
mismatch_between_header_and_guess = true;
}
if ( guessed_scanner_ptr->get_num_axial_crystals_per_singles_unit() > 0 &&
num_axial_crystals_per_singles_unit !=
guessed_scanner_ptr->get_num_axial_crystals_per_singles_unit() )
Expand Down Expand Up @@ -1302,6 +1328,8 @@ bool InterfilePDFSHeader::post_processing()
num_transaxial_blocks_per_bucket,
num_axial_crystals_per_block,
num_transaxial_crystals_per_block,
num_virtual_axial_crystals_per_block,
num_virtual_transaxial_crystals_per_block,
num_axial_crystals_per_singles_unit,
num_transaxial_crystals_per_singles_unit,
num_detector_layers,
Expand Down
4 changes: 4 additions & 0 deletions src/IO/InterfilePDFSHeaderSPECT.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,9 @@ bool InterfilePDFSHeaderSPECT::post_processing()
const int num_axial_blocks_per_bucket = -1;
const int num_transaxial_blocks_per_bucket = -1;
const int num_axial_crystals_per_block = -1;
const int num_virtual_axial_crystals_per_block=0;
const int num_transaxial_crystals_per_block = -1;
const int num_virtual_transaxial_crystals_per_block = 0;
const int num_axial_crystals_per_singles_unit = -1;
const int num_transaxial_crystals_per_singles_unit = -1;
const int num_detector_layers = 1;
Expand All @@ -181,6 +183,8 @@ bool InterfilePDFSHeaderSPECT::post_processing()
num_transaxial_blocks_per_bucket,
num_axial_crystals_per_block,
num_transaxial_crystals_per_block,
num_virtual_axial_crystals_per_block,
num_virtual_transaxial_crystals_per_block,
num_axial_crystals_per_singles_unit,
num_transaxial_crystals_per_singles_unit,
num_detector_layers));
Expand Down
Loading