From 5ca2fc03d9899f5227b3efaf8334e96cc0cd5ed2 Mon Sep 17 00:00:00 2001 From: Chao Peng <cpeng@anl.gov> Date: Fri, 3 May 2024 13:49:57 -0500 Subject: [PATCH] fix some issues for running LGC --- compact/LGC.xml | 2 +- solid.xml | 7 ++++++- src/GasCherenkov_geo.cpp | 7 ++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/compact/LGC.xml b/compact/LGC.xml index 3e23764..d020b1a 100644 --- a/compact/LGC.xml +++ b/compact/LGC.xml @@ -3,7 +3,7 @@ <readouts> <readout name="LightGasCherenkovHits"> <segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" /> - <id>system:6,sector:11,mirror:4,module:10,x:32:-16,y:-16</id> + <id>system:6,sector:12,mirror:4,module:10,x:32:-16,y:-16</id> </readout> </readouts> diff --git a/solid.xml b/solid.xml index 6fbf19b..2745de4 100644 --- a/solid.xml +++ b/solid.xml @@ -60,6 +60,11 @@ <surfaces> <comment> For the values of "finish", model and type, see TGeoOpticalSurface.h ! </comment> + <opticalsurface name="MirrorOpticalSurface" finish="polished" model="glisur" type="dielectric_metal" value="0"> + <property name="REFLECTIVITY" ref="REFLECTIVITY_mirror"/> + <property name="RINDEX" coldim="2" values="1.034*eV 1.5 4.136*eV 1.5"/> + <!--<property name="EFFICIENCY" ref="EFFICIENCY0x8b77240"/>--> + </opticalsurface> <opticalsurface name="PMTOpticalSurface" finish="polished" model="glisur" type="dielectric_dielectric" value="0"> <property name="RINDEX" coldim="2" values="1.034*eV 1.5 4.136*eV 1.5"/> <!--<property name="EFFICIENCY" ref="EFFICIENCY0x8b77240"/>--> @@ -72,7 +77,7 @@ </surfaces> - <include ref="compact/fields.xml"/> + <!--<include ref="compact/fields.xml"/>--> <detectors> <!--<include ref="compact/LAEC.xml"/> diff --git a/src/GasCherenkov_geo.cpp b/src/GasCherenkov_geo.cpp index de9ba9b..894947a 100644 --- a/src/GasCherenkov_geo.cpp +++ b/src/GasCherenkov_geo.cpp @@ -98,8 +98,8 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec Volume v_mir("vol_mirror_" + std::to_string(i), IntersectionSolid(mir_cutout, mir_shell, mir_trans), mmat); auto mir_trans2 = Transform3D(Position(mloc.x(), mloc.y(), mloc.z()))*RotationZYX(mrot.z(), mrot.y(), mrot.x()); PlacedVolume pv_mir = v_sector.placeVolume(v_mir, mir_trans2); - DetElement de_mir(det, "de_mirror" + std::to_string(i) + "_shape", 1); - pv_mir.addPhysVolID("mirror", 1); + DetElement de_mir(det, "de_mirror" + std::to_string(i), i); + pv_mir.addPhysVolID("mirror", i); de_mir.setPlacement(pv_mir); sens.setType("photoncounter"); v_mir.setSensitiveDetector(sens); @@ -107,13 +107,14 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec // optical surface SkinSurface mirrorBorder_Surf(desc, de_mir, "LGCmirror", mirrorSurf, v_mir); mirrorBorder_Surf.isValid(); + i++; } // sectors double sector_angle = 2.*M_PI / nsec; for (int isec = 1; isec <= nsec; isec++) { auto pv = v_tank.placeVolume(v_sector, Transform3D(RotationZ((isec - 1) * sector_angle))); - pv.addPhysVolID("sector" + std::to_string(isec), isec); + pv.addPhysVolID("sector", isec); auto amod = (isec == 1 ? de_sector : de_sector.clone("de_sector" + std::to_string(isec), isec)); amod.setPlacement(pv); det.add(amod); -- GitLab