diff --git a/.github/workflows/linux-eic-shell.yml b/.github/workflows/linux-eic-shell.yml index 8d5ec5220..298438266 100644 --- a/.github/workflows/linux-eic-shell.yml +++ b/.github/workflows/linux-eic-shell.yml @@ -99,7 +99,7 @@ jobs: - run: | source install/bin/thisepic.sh sed -i 's%\(\1%g; s%\(/fiber>\|/lens>\)%\1%g' \ - ${DETECTOR_PATH}/compact/ecal/barrel_interlayers.xml \ + ${DETECTOR_PATH}/compact/ecal/bic_default.xml \ ${DETECTOR_PATH}/compact/ecal/forward_scfi.xml \ ${DETECTOR_PATH}/compact/far_forward/ZDC_Ecal_WSciFi.xml \ ${DETECTOR_PATH}/compact/pid/mrich.xml diff --git a/compact/ecal/barrel_interlayers.xml b/compact/ecal/bic/bic.xml similarity index 84% rename from compact/ecal/barrel_interlayers.xml rename to compact/ecal/bic/bic.xml index a305d9dec..71cd141f4 100644 --- a/compact/ecal/barrel_interlayers.xml +++ b/compact/ecal/bic/bic.xml @@ -15,7 +15,11 @@ To change the number of imaging layer slots from, e.g., 9 to 6, - change EcalBarrelImagingLayers_nMax variable + change EcalBarrelImagingLayers_nMax variable. Note that this does NOT change the + number of silicon frames, as each silicon frame and layer is placed manually. + + This file assumes the EcalBarrel_enable_staves_N variables have been defined to allow + changing the configuration by enabling/disabling staves @@ -160,7 +164,8 @@ thickness="EcalBarrel_Stave_thickness" angle="EcalBarrel_StaveTilt_angle" module="AstroPix_Module" - vis="EcalBarrelStaveVis"> + vis="EcalBarrelStaveVis" + enable="EcalBarrel_enable_staves_1"> + + + - + + + + + + + + vis="EcalBarrelStaveVis" + enable="EcalBarrel_enable_staves_4"> + + + + vis="EcalBarrelStaveVis" + enable="EcalBarrel_enable_staves_6"> + + + + + + + + + + + + + + + diff --git a/compact/ecal/bic_default.xml b/compact/ecal/bic_default.xml new file mode 100644 index 000000000..ed31ff3d7 --- /dev/null +++ b/compact/ecal/bic_default.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + diff --git a/configurations/calorimeters.yml b/configurations/calorimeters.yml index 542f38c2c..f02337758 100644 --- a/configurations/calorimeters.yml +++ b/configurations/calorimeters.yml @@ -4,7 +4,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: hcal: lfhcal_with_space_for_insert: diff --git a/configurations/craterlake.yml b/configurations/craterlake.yml index 2b9b241d1..c31cb1318 100644 --- a/configurations/craterlake.yml +++ b/configurations/craterlake.yml @@ -21,7 +21,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: solenoid: hcal: diff --git a/configurations/craterlake_10x100.yml b/configurations/craterlake_10x100.yml index 39bfe43ad..3e6f1ec6e 100644 --- a/configurations/craterlake_10x100.yml +++ b/configurations/craterlake_10x100.yml @@ -21,7 +21,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: solenoid: hcal: diff --git a/configurations/craterlake_10x275.yml b/configurations/craterlake_10x275.yml index c645a6926..021150e71 100644 --- a/configurations/craterlake_10x275.yml +++ b/configurations/craterlake_10x275.yml @@ -21,7 +21,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: solenoid: hcal: diff --git a/configurations/craterlake_18x110_Au.yml b/configurations/craterlake_18x110_Au.yml index e9736a234..55963a6fe 100644 --- a/configurations/craterlake_18x110_Au.yml +++ b/configurations/craterlake_18x110_Au.yml @@ -21,7 +21,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: solenoid: hcal: diff --git a/configurations/craterlake_18x275.yml b/configurations/craterlake_18x275.yml index 7f0972f1d..b1fe4981e 100644 --- a/configurations/craterlake_18x275.yml +++ b/configurations/craterlake_18x275.yml @@ -21,7 +21,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: solenoid: hcal: diff --git a/configurations/craterlake_5x41.yml b/configurations/craterlake_5x41.yml index 050c73b00..ef920a70d 100644 --- a/configurations/craterlake_5x41.yml +++ b/configurations/craterlake_5x41.yml @@ -21,7 +21,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: solenoid: hcal: diff --git a/configurations/craterlake_bic_6layers.yml b/configurations/craterlake_bic_6layers.yml new file mode 100644 index 000000000..45cd342d6 --- /dev/null +++ b/configurations/craterlake_bic_6layers.yml @@ -0,0 +1,38 @@ +ebeam: 10 +pbeam: 100 +features: + beampipe: + tracking: + definitions_craterlake: + vertex_barrel: + silicon_barrel: + mpgd_barrel: + support_service_craterlake: + mpgd_outerbarrel: + mpgd_forward_endcap: + mpgd_backward_endcap: + silicon_disks: + tof_barrel: + tof_endcap: + pid: + dirc: + pfrich: + drich: + ecal: + forward_homogeneous: + forward_insert_homogeneous: + bic_6layers: + backward_PbWO4: + solenoid: + hcal: + lfhcal_with_space_for_insert: + forward_insert: + barrel_gdml: + barrel_flux_return: + forward_endcap_flux: + backward: + backward_endcap_flux: + far_forward: + default: + far_backward: + default: diff --git a/configurations/craterlake_no_bhcal.yml b/configurations/craterlake_no_bhcal.yml index 94223d402..889884c89 100644 --- a/configurations/craterlake_no_bhcal.yml +++ b/configurations/craterlake_no_bhcal.yml @@ -21,7 +21,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: solenoid: hcal: diff --git a/configurations/full.yml b/configurations/full.yml index 050c73b00..ef920a70d 100644 --- a/configurations/full.yml +++ b/configurations/full.yml @@ -21,7 +21,7 @@ features: ecal: forward_homogeneous: forward_insert_homogeneous: - barrel_interlayers: + bic_default: backward_PbWO4: solenoid: hcal: diff --git a/configurations/imaging_only.yml b/configurations/imaging_only.yml index 294aaea59..e7f10e26b 100644 --- a/configurations/imaging_only.yml +++ b/configurations/imaging_only.yml @@ -2,4 +2,4 @@ features: fields: marco: ecal: - barrel_interlayers: + bic_default: diff --git a/configurations/inner_detector.yml b/configurations/inner_detector.yml index 12ce0efd0..ad5abf2f1 100644 --- a/configurations/inner_detector.yml +++ b/configurations/inner_detector.yml @@ -13,7 +13,7 @@ features: tof_barrel: tof_endcap: ecal: - barrel_interlayers: + bic_default: backward_PbWO4: pid: dirc: diff --git a/src/BarrelCalorimeterImaging_geo.cpp b/src/BarrelCalorimeterImaging_geo.cpp index 93bb7c737..66753a981 100644 --- a/src/BarrelCalorimeterImaging_geo.cpp +++ b/src/BarrelCalorimeterImaging_geo.cpp @@ -227,10 +227,18 @@ static Ref_t create_detector(Detector& desc, xml_h e, SensitiveDetector sens) { // Set region, limitset, and vis of layer. layer_volume.setAttributes(desc, x_layer.regionStr(), x_layer.limitsStr(), x_layer.visStr()); - // Loop over the staves for this layer. + // Loop over the staves for this layer, if the tray is enabled int stave_num = 1; for (xml_coll_t i_stave(x_layer, _U(stave)); i_stave; ++i_stave) { xml_comp_t x_stave = i_stave; + // Check if we enabled this silicon tray (actual silicon detector in the slots) at the top level + // allowing us to easily disable layers in the XML file without needing multiple + // copies of the XML file + if (getAttrOrDefault(x_stave, _Unicode(enable), 1) == 0) { + // disabled + continue; + } + int stave_repeat = x_stave.repeat(); double stave_thick = x_stave.thickness(); double stave_dim_x = x_stave.width() / 2.0; @@ -361,7 +369,7 @@ static Ref_t create_detector(Detector& desc, xml_h e, SensitiveDetector sens) { } } - // Place frame + // Place frame if defined. if (layer_has_frame) { xml_comp_t x_frame = x_layer.child(_Unicode(frame)); double frame_height = x_frame.height();