diff --git a/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_01.xml b/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_01.xml index 80b21fe4ef424e540376f273f796a7b91f0cd4bc..1672120a2e00f08abb74e6c5461ac7cf7cf3bfb7 100644 --- a/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_01.xml +++ b/Detector/DetCEPCv4/compact/SEcal05_siw_ECRing_01.xml @@ -51,7 +51,7 @@ <readouts> <readout name="EcalEndcapRingCollection"> - <segmentation type="CartesianGridXY" grid_size_x="Ecal_cells_size" grid_size_y="Ecal_cells_size"/> + <segmentation type="CartesianGridXY" grid_size_x="Ecal_cells_size" grid_size_y="Ecal_cells_size" offset_x= "-5.104248046875*mm" offset_y= "5.104248046875*mm"/> <id>system:5,module:3,stave:4,tower:3,layer:6,x:32:-16,y:-16</id> </readout> </readouts> diff --git a/Detector/DetCEPCv4/compact/SEcal05_siw_Endcaps.xml b/Detector/DetCEPCv4/compact/SEcal05_siw_Endcaps.xml index 214e9983bf2f6d78b51f38cc3768b23fac88b7ae..07802e884723ec23f4c9305b1c8dc40f60bfeb0c 100644 --- a/Detector/DetCEPCv4/compact/SEcal05_siw_Endcaps.xml +++ b/Detector/DetCEPCv4/compact/SEcal05_siw_Endcaps.xml @@ -80,8 +80,8 @@ <readouts> <readout name="EcalEndcapsCollection"> - <segmentation type="MegatileLayerGridXY" grid_size_x="10.1667*mm" grid_size_y="10.1667*mm"/> - <id>system:5,module:3,stave:4,tower:5,layer:6,wafer:6,cellX:32:-16,cellY:-16</id> + <segmentation type="WaferGridXY" grid_size_x="10.1667*mm" grid_size_y="10.1667*mm" offset_x="2*mm" offset_y="-1.0999755859375*mm"/> + <id>system:5,module:3,stave:4,tower:5,layer:6,wafer:6,x:32:-16,y:-16</id> </readout> </readouts> diff --git a/Detector/DetCEPCv4/compact/SHcalRpc01_Barrel_01.xml b/Detector/DetCEPCv4/compact/SHcalRpc01_Barrel_01.xml index 427dbc648837c1d5686646aab31e3f2ab5e330b8..7e03e5f80460dbf451613b5b31d7cafae7b4611e 100644 --- a/Detector/DetCEPCv4/compact/SHcalRpc01_Barrel_01.xml +++ b/Detector/DetCEPCv4/compact/SHcalRpc01_Barrel_01.xml @@ -33,7 +33,7 @@ <readouts> <readout name="HcalBarrelCollection"> - <segmentation type="CartesianGridYZ" grid_size_y="Hcal_cells_size" grid_size_z="Hcal_cells_size"/> + <segmentation type="CartesianGridYZ" grid_size_y="Hcal_cells_size" grid_size_z="Hcal_cells_size" offset_y="-3.20001220703125*mm"/> <id>system:5,module:3,stave:3,tower:5,layer:6,slice:4,y:32:-16,z:-16</id> </readout> </readouts> diff --git a/Detector/DetCEPCv4/src/calorimeter/SHcalRpc01_Endcaps.cpp b/Detector/DetCEPCv4/src/calorimeter/SHcalRpc01_Endcaps.cpp index e55eb4722038d9f9879659d71f407b0e79313df1..bde54e0e1d27e9b4521cc11ab860b2f2a23ee626 100644 --- a/Detector/DetCEPCv4/src/calorimeter/SHcalRpc01_Endcaps.cpp +++ b/Detector/DetCEPCv4/src/calorimeter/SHcalRpc01_Endcaps.cpp @@ -226,21 +226,23 @@ static Ref_t create_detector(Detector& theDetector, xml_h element, SensitiveDete cout << "Hcal_Endcap: inner_thickness= " << inner_thickness << endl; cout << "Hcal_Endcap: outer_thickness= " << thickness_sum << endl; } - LayeredCalorimeterData::Layer caloLayer ; - caloLayer.cellSize0 = cell_sizeX; - caloLayer.cellSize1 = cell_sizeY; - caloLayer.inner_nRadiationLengths = nRadiationLengthsInside; - caloLayer.inner_nInteractionLengths = nInteractionLengthsInside; - caloLayer.inner_thickness = inner_thickness; - caloLayer.sensitive_thickness = sensitive_thickness; - caloLayer.outer_nRadiationLengths = nRadiationLengths; - caloLayer.outer_nInteractionLengths = nInteractionLengths; - caloLayer.outer_thickness = thickness_sum; - - caloLayer.distance = Hcal_start_z + (layer_id-1)*layerThickness; - caloLayer.absorberThickness = Hcal_radiator_thickness ; - - caloData->layers.push_back( caloLayer ) ; + if(stave_id==1){// only for one stave is good. + LayeredCalorimeterData::Layer caloLayer ; + caloLayer.cellSize0 = cell_sizeX; + caloLayer.cellSize1 = cell_sizeY; + caloLayer.inner_nRadiationLengths = nRadiationLengthsInside; + caloLayer.inner_nInteractionLengths = nInteractionLengthsInside; + caloLayer.inner_thickness = inner_thickness; + caloLayer.sensitive_thickness = sensitive_thickness; + caloLayer.outer_nRadiationLengths = nRadiationLengths; + caloLayer.outer_nInteractionLengths = nInteractionLengths; + caloLayer.outer_thickness = thickness_sum; + + caloLayer.distance = Hcal_start_z + (layer_id-1)*layerThickness; + caloLayer.absorberThickness = Hcal_radiator_thickness ; + + caloData->layers.push_back( caloLayer ) ; + } } }