From 3e0a673164165e6ceccde58dec500fcf5b521f5e Mon Sep 17 00:00:00 2001 From: Toby Dixon Date: Sun, 17 Nov 2024 16:13:32 +0100 Subject: [PATCH 1/6] [docs] add some basic documentation --- docs/source/index.rst | 35 ++++++++++- docs/source/manual.rst | 137 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 docs/source/manual.rst diff --git a/docs/source/index.rst b/docs/source/index.rst index 397ff93..4f0df5b 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,10 +1,39 @@ Welcome to legendhpges's documentation! -========================================== +======================================= -Table of Contents ------------------ +Python package of Germanium detector geometries for radiation transport simulations. + +Getting started +--------------- + +legendhpges can be installed with pip. + +.. code-block:: console + + $ git pull git@github.com:legend-exp/legend-pygeom-hpges.git + $ cd legend-pygeom-hpges + $ pip install . + + +Next steps +---------- + +.. toctree:: + :maxdepth: 1 + + User Manual .. toctree:: :maxdepth: 1 Package API reference + +See also +-------- + + - `remage `_: Modern *Geant4* application for HPGe and LAr experiments, + - `reboost `_: Post processing of remage simulations in python. + - `pyg4ometry `_: Package to create simulation geometry in python, + - `legend-pygeom-optics `_: Package to handle optical properties in python, + - `legend-pygeom-l200 `_: Implementation of the LEGEND-200 experiment (**private**), + - `pyvertexgen `_: Generation of vertices for simulations. diff --git a/docs/source/manual.rst b/docs/source/manual.rst new file mode 100644 index 0000000..6f56cf6 --- /dev/null +++ b/docs/source/manual.rst @@ -0,0 +1,137 @@ +Basic User Manual +================= + +This package implements a ``HPGe`` which describes the detctor geometry and can be used for: + +- visualisation with `pyg4ometry `_ +- exporting to GDML for Geant4 simulations (again with pyg4ometry), +- computing detector properties. + +Metadata specification +---------------------- + +The detector geometry is constructed based on the LEGEND metadata specification `(metadata-docs) `_. +This consists of a JSON file (or python dictionary) describing the geometry for example: + +.. code-block:: python + + metadata = { "name": "B00000B", + "type": "bege", + "production": { + "enrichment": {"val": 0.9, "unc": 0.003}, + "mass_in_g": 697.0, + }, + "geometry": { + "height_in_mm": 29.46, + "radius_in_mm": 36.98, + "groove": {"depth_in_mm": 2.0, "radius_in_mm": {"outer": 10.5, "inner": 7.5}}, + "pp_contact": {"radius_in_mm": 7.5, "depth_in_mm": 0}, + "taper": { + "top": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, + "bottom": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, + }, + }, + } + +.. note:: + Currently bege, icpc, ppc and coax geometries are implemented as well as a few LEGEND detectors with special geometries. + Different geometries can be implemented as subclasses deriving from ``legendhpges.base.HPGe``. + +The different keys of the dictionary describe the different aspects of the geometry. +Some are self explanatory, for others: + +- "production": gives information on the detector production, we need the "enrichment" to define the detector material, +- "geometry" : gives the detector geometry in particular, "groove" and "pp_contact" describe the contacts of detector. + +Other fields can be added to describe different geometry features (more details in the legend metadata documentation). + +Constructing the HPGe object +---------------------------- + +The HPGe object can be constructed from the metadata with: + +.. code-block:: python + + from legendhpges import make_hpge + import pyg4ometry as pg4 + + reg = pg4.geant4.Registry() + hpge = make_hpge(metadata,name="det_L") + +The metadata can either be passed as a python dictionary or a path to a JSON file. + + +Detector properties +------------------- + +Most detectors are described by a ``G4GenericPolycone`` `(polcyone-docs) `_ +This describes the solid by a series of (r,z) pairs rotated around the z axis. + +There are methods to plot the (r,z) profile of the detector, in addition this is able to label the contact type (p+,n+ or passivated) each surface +corresponds to (based on the metadata). + +.. code-block:: python + + from legendhpges import draw + + draw.plot_profile(hpge,split_by_type=True) + +.. image:: images/bege_profile.png + +We can also directly extract the r,z profile and the surface types and surface area of each. + +.. code-block:: python + + r,z = hpge.get_profile() + surfaces = hpge.surfaces + area = hpge.surface_area() + print(f"total area {sum(area)}") + +.. code-block:: console + + total area 13775.325839135963 mm² + +Here the surfaces correspond to the line from :math:`r_i` to :math:`r_{i+1}` and :math:`z_i` to :math:`z_{i+1}`. + +We can also easily extract the detector mass and volume: + +.. code-block:: python + + print(f"mass {hpge.mass}") + print(f"volume {hpge.volume}") + +.. code-block:: text + + mass 700.5770262065953 g + volume 126226.52555880952 mm³ + +Finally we can compute the distance of a set of points to the electrodes and check whether a point is inside the detector. +mm + + +Use in a Geant4 simulation +-------------------------- + +The HPGe object derives from ``pyg4ometry.geant4.LogicalVolume`` and can be used to visualise the detector, or to run Geant4 simulations. + +For example to visualise a detector we can use: + +.. code-block:: python + + # create a world volume + world_s = pg4.geant4.solid.Orb("World_s", 20, registry=reg, lunit="cm") + world_l = pg4.geant4.LogicalVolume(world_s, "G4_Galactic", "World", registry=reg) + reg.setWorld(world_l) + + # place the detector + pg4.geant4.PhysicalVolume([0, 0, 0], [0, 0, 0, "cm"], hpge, "det", world_l, registry=reg) + + viewer = pg4.visualisation.VtkViewerColoured() + viewer.addLogicalVolume(reg.getWorldVolume()) + viewer.view() + +.. image:: images/bege.png + +The `(remage-tutorial) `_ gives a more complete example of using legendhpges to run a simulation. + +This class is also the basis of the *legend-pygeom-l200* implementation of the LEGEND-200 experiment `(legend-pygeom-l200 docs) `_ (**private**), From 172b2601458723df02d108b26c74c2c0ebe4ec8d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 17 Nov 2024 15:14:18 +0000 Subject: [PATCH 2/6] style: pre-commit fixes --- docs/source/manual.rst | 53 ++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/docs/source/manual.rst b/docs/source/manual.rst index 6f56cf6..7128708 100644 --- a/docs/source/manual.rst +++ b/docs/source/manual.rst @@ -15,35 +15,36 @@ This consists of a JSON file (or python dictionary) describing the geometry for .. code-block:: python - metadata = { "name": "B00000B", - "type": "bege", - "production": { - "enrichment": {"val": 0.9, "unc": 0.003}, - "mass_in_g": 697.0, - }, - "geometry": { - "height_in_mm": 29.46, - "radius_in_mm": 36.98, - "groove": {"depth_in_mm": 2.0, "radius_in_mm": {"outer": 10.5, "inner": 7.5}}, - "pp_contact": {"radius_in_mm": 7.5, "depth_in_mm": 0}, - "taper": { - "top": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, - "bottom": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, - }, - }, - } + metadata = { + "name": "B00000B", + "type": "bege", + "production": { + "enrichment": {"val": 0.9, "unc": 0.003}, + "mass_in_g": 697.0, + }, + "geometry": { + "height_in_mm": 29.46, + "radius_in_mm": 36.98, + "groove": {"depth_in_mm": 2.0, "radius_in_mm": {"outer": 10.5, "inner": 7.5}}, + "pp_contact": {"radius_in_mm": 7.5, "depth_in_mm": 0}, + "taper": { + "top": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, + "bottom": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, + }, + }, + } .. note:: Currently bege, icpc, ppc and coax geometries are implemented as well as a few LEGEND detectors with special geometries. Different geometries can be implemented as subclasses deriving from ``legendhpges.base.HPGe``. -The different keys of the dictionary describe the different aspects of the geometry. +The different keys of the dictionary describe the different aspects of the geometry. Some are self explanatory, for others: - "production": gives information on the detector production, we need the "enrichment" to define the detector material, - "geometry" : gives the detector geometry in particular, "groove" and "pp_contact" describe the contacts of detector. -Other fields can be added to describe different geometry features (more details in the legend metadata documentation). +Other fields can be added to describe different geometry features (more details in the legend metadata documentation). Constructing the HPGe object ---------------------------- @@ -54,9 +55,9 @@ The HPGe object can be constructed from the metadata with: from legendhpges import make_hpge import pyg4ometry as pg4 - + reg = pg4.geant4.Registry() - hpge = make_hpge(metadata,name="det_L") + hpge = make_hpge(metadata, name="det_L") The metadata can either be passed as a python dictionary or a path to a JSON file. @@ -64,7 +65,7 @@ The metadata can either be passed as a python dictionary or a path to a JSON fil Detector properties ------------------- -Most detectors are described by a ``G4GenericPolycone`` `(polcyone-docs) `_ +Most detectors are described by a ``G4GenericPolycone`` `(polcyone-docs) `_ This describes the solid by a series of (r,z) pairs rotated around the z axis. There are methods to plot the (r,z) profile of the detector, in addition this is able to label the contact type (p+,n+ or passivated) each surface @@ -74,7 +75,7 @@ corresponds to (based on the metadata). from legendhpges import draw - draw.plot_profile(hpge,split_by_type=True) + draw.plot_profile(hpge, split_by_type=True) .. image:: images/bege_profile.png @@ -82,7 +83,7 @@ We can also directly extract the r,z profile and the surface types and surface a .. code-block:: python - r,z = hpge.get_profile() + r, z = hpge.get_profile() surfaces = hpge.surfaces area = hpge.surface_area() print(f"total area {sum(area)}") @@ -124,7 +125,9 @@ For example to visualise a detector we can use: reg.setWorld(world_l) # place the detector - pg4.geant4.PhysicalVolume([0, 0, 0], [0, 0, 0, "cm"], hpge, "det", world_l, registry=reg) + pg4.geant4.PhysicalVolume( + [0, 0, 0], [0, 0, 0, "cm"], hpge, "det", world_l, registry=reg + ) viewer = pg4.visualisation.VtkViewerColoured() viewer.addLogicalVolume(reg.getWorldVolume()) From 904afc03b1fca1865ee3cb9d8588465734f6adea Mon Sep 17 00:00:00 2001 From: Toby Dixon Date: Sun, 17 Nov 2024 16:15:14 +0100 Subject: [PATCH 3/6] pre-commit fixes --- docs/source/manual.rst | 55 ++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/docs/source/manual.rst b/docs/source/manual.rst index 6f56cf6..311df30 100644 --- a/docs/source/manual.rst +++ b/docs/source/manual.rst @@ -1,7 +1,7 @@ Basic User Manual ================= -This package implements a ``HPGe`` which describes the detctor geometry and can be used for: +This package implements a ``HPGe`` which describes the detector geometry and can be used for: - visualisation with `pyg4ometry `_ - exporting to GDML for Geant4 simulations (again with pyg4ometry), @@ -15,35 +15,36 @@ This consists of a JSON file (or python dictionary) describing the geometry for .. code-block:: python - metadata = { "name": "B00000B", - "type": "bege", - "production": { - "enrichment": {"val": 0.9, "unc": 0.003}, - "mass_in_g": 697.0, - }, - "geometry": { - "height_in_mm": 29.46, - "radius_in_mm": 36.98, - "groove": {"depth_in_mm": 2.0, "radius_in_mm": {"outer": 10.5, "inner": 7.5}}, - "pp_contact": {"radius_in_mm": 7.5, "depth_in_mm": 0}, - "taper": { - "top": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, - "bottom": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, - }, - }, - } + metadata = { + "name": "B00000B", + "type": "bege", + "production": { + "enrichment": {"val": 0.9, "unc": 0.003}, + "mass_in_g": 697.0, + }, + "geometry": { + "height_in_mm": 29.46, + "radius_in_mm": 36.98, + "groove": {"depth_in_mm": 2.0, "radius_in_mm": {"outer": 10.5, "inner": 7.5}}, + "pp_contact": {"radius_in_mm": 7.5, "depth_in_mm": 0}, + "taper": { + "top": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, + "bottom": {"angle_in_deg": 0.0, "height_in_mm": 0.0}, + }, + }, + } .. note:: Currently bege, icpc, ppc and coax geometries are implemented as well as a few LEGEND detectors with special geometries. Different geometries can be implemented as subclasses deriving from ``legendhpges.base.HPGe``. -The different keys of the dictionary describe the different aspects of the geometry. +The different keys of the dictionary describe the different aspects of the geometry. Some are self explanatory, for others: - "production": gives information on the detector production, we need the "enrichment" to define the detector material, - "geometry" : gives the detector geometry in particular, "groove" and "pp_contact" describe the contacts of detector. -Other fields can be added to describe different geometry features (more details in the legend metadata documentation). +Other fields can be added to describe different geometry features (more details in the legend metadata documentation). Constructing the HPGe object ---------------------------- @@ -54,9 +55,9 @@ The HPGe object can be constructed from the metadata with: from legendhpges import make_hpge import pyg4ometry as pg4 - + reg = pg4.geant4.Registry() - hpge = make_hpge(metadata,name="det_L") + hpge = make_hpge(metadata, name="det_L") The metadata can either be passed as a python dictionary or a path to a JSON file. @@ -64,7 +65,7 @@ The metadata can either be passed as a python dictionary or a path to a JSON fil Detector properties ------------------- -Most detectors are described by a ``G4GenericPolycone`` `(polcyone-docs) `_ +Most detectors are described by a ``G4GenericPolycone`` `(polcyone-docs) `_ This describes the solid by a series of (r,z) pairs rotated around the z axis. There are methods to plot the (r,z) profile of the detector, in addition this is able to label the contact type (p+,n+ or passivated) each surface @@ -74,7 +75,7 @@ corresponds to (based on the metadata). from legendhpges import draw - draw.plot_profile(hpge,split_by_type=True) + draw.plot_profile(hpge, split_by_type=True) .. image:: images/bege_profile.png @@ -82,7 +83,7 @@ We can also directly extract the r,z profile and the surface types and surface a .. code-block:: python - r,z = hpge.get_profile() + r, z = hpge.get_profile() surfaces = hpge.surfaces area = hpge.surface_area() print(f"total area {sum(area)}") @@ -124,7 +125,9 @@ For example to visualise a detector we can use: reg.setWorld(world_l) # place the detector - pg4.geant4.PhysicalVolume([0, 0, 0], [0, 0, 0, "cm"], hpge, "det", world_l, registry=reg) + pg4.geant4.PhysicalVolume( + [0, 0, 0], [0, 0, 0, "cm"], hpge, "det", world_l, registry=reg + ) viewer = pg4.visualisation.VtkViewerColoured() viewer.addLogicalVolume(reg.getWorldVolume()) From abfc2c163e5e3b9d1bdfae3f82306e24fde05eee Mon Sep 17 00:00:00 2001 From: Toby Dixon Date: Sun, 17 Nov 2024 16:20:07 +0100 Subject: [PATCH 4/6] [docs] images needed --- docs/source/images/bege.png | Bin 0 -> 78201 bytes docs/source/images/bege_profile.png | Bin 0 -> 28244 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/source/images/bege.png create mode 100644 docs/source/images/bege_profile.png diff --git a/docs/source/images/bege.png b/docs/source/images/bege.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1b5ac67629ead7be9eb2e06c4c9ff1a0041041 GIT binary patch literal 78201 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/source/images/bege_profile.png b/docs/source/images/bege_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..877fde2be9317bc55e20bc632a7ae8704a9b15aa GIT binary patch literal 28244 zcmeFZ2T+w;w=IaGh)6J?k|YQcBnKr2MUq6xNEXSGa|RI*1xX5mBmv1mvSbkz5XqS> z86+o(5_>Mr{r`Jk^}E%ts=KeHcivxeTw>8)cKTbK^l~KioFHhXZ&*67cM+r?w6&n*r7ejkvEK_S6D`Qp% zBYR_GYX>tM#}({45iBffESYq&! z1`eE07vXR5O=VVtWvt~G;f@cEFUJy|xeDd$Ryi|K5VlO)U#LBSg@tpWo5wgVJzXI| zfU%*x{tdH7L4Ljh?}%&ai08U|g-&C+mOyzf1)=29MzndHy+8uCuH?{17TG| zZ5aKTZJg=|YktoVB`!*zQRQ92A{!78F!aeT_5S_)IJyNzje=*r>+}^eR7Cg3iJTe; zc$?-Nv(wWhOG``RIE^H)hopLxSutM>o^9nF?fE;CRIs?Xc&Goozq}A-Ka2)3?kOJY zUwrCK83u9m2X9a9a=L98*|W4LTUq68EnzbF9e(5gs0s5weekw=d6$zi%yRO3=84mx}3hj@D|^Q&X9rK54SW$VN!tE7WAMBhR=(81yD4CSzjakvdC_L0mc^ zl}PU5;u8WYk@yl?mX)gnkKnlVj3PP!vQLVE{4`=#AlXSdiV~w?fr+X@Xb#U(%Zo@!zhBXV?X%$wx zON!DLRCx>8RS@(|OI?MD`p*e|PY<&$Jx>uN((weNE<~vqqVlS7(%(7rtJsfcG_q)_ zInp$vKWuF|2Q(PQrt^19OGiE`eEYOM`PDVSbTgj&tIL7ibFcds-i)qL%_{GPpd}NC z-%>=37tqtwL)TJ-(>kaQ$F{R8Oq-;kV0hU$i5GCU$Vyuz$tJmFE~A9BK5(o+qdUuJ5z5mGAaq^VMiXH z>lCK!^2=|;gh6M9{}#!2zs4*@W0oj+JjTzE7xXi?6shX#7ih9XN7oD1NM*vQHX^Ms zT=FV`hD|f;1aTdqBkS%p_Iwmv@=?dDJ)UWnx3`yxGK|QPpET@00%j%$UY6!A)RYSo+0Dc|cW!$9Z;2J= z_AOrCoZMWw7#;gydd0+CR_(Icxs0T~4>5Y#M56mjRnAMw93(wmA7q^l|IRS;@@}X7 zEh{aZTPh#zV=kypNjg|G{o^VWnI`P9HM?DRR0DyOZQK&gM2weJRHU4vQPB5ZJZQ?6 zPgPYljoo|grNB(Q!_=m`N{w{aNfg9m-DWnCaa+=z;jexA){?k?^2pch&gTd?FTOQt zjr&ktEhN)rSx}SS*QXBCFh5rBzdOzDlXbASZTahy9og+CZ?~3*a~Kj`??Q;J&$Nr0 z*N)q2V#=(#9omI6sE&3TgU56=G&0n3)SEf*;r8SNofkU_d=4yO<}CJi)?lD5Y-|*D z;&F#*A=UWO*i4Rx3Jf?arN7ZJ`^h;O*P)qLOlTFALKA@3-k08aIon~|JFI|JyXeNZ zw3ZfjjWXt{{_fkiZ)c~Z+Cz~p#Z`a6o{j!=05GLKw|$exD>>3!-%{W<&$M3a1%8#rFiv~>qe zvZvNk) z$Vd=$L8I(NI09*_-azTrty|f-xjhj2x11L>Py65Dr=Ykya0z8zl0OsbI)>c2A7gb^ zoxgqg^R}@a=aIDiK=l5abk{oPW5)Rq%F(@qXI))gUv1CJ{P^)BvU^TdN-D_S!C`vS z9ga7^)*V7A{Lo`-@qvejN5Ro6D~xVFvD)X2z-@^3lrz~J^} zK1dx{7{>nR?B8cz^~aAp5SOON$ZK2-ZE6yrOI=HT!ptU>ELIy~EHFwXosXschuqtZ zBC%U^`;z4Yd23-NbmCOtP;x=*tYDt6Z}6zWbGQ^K3{OCln+74tVaq55H|QlADuXd0($UV`*t=sLbl! zpY`>sYbF!URce}=nUL4e+*5{0!RKHBg@%SkzB;ofO_yTElU>{{qCGu5UHLoCvZt#n zg@F9_?0ilEz3cXIU0gMv3gtiK#)a%))|;&sC*)RS(iWekq30$+e)~y>=+U|;iuGt? zC%4+smHyXEDpT8go2v~(3%}plsLRWT>bZ`ezQ$)O*0mP;YBuxO>SW9O3Q1T~P}U)X!Q$+K zq{db^%AV1k<+lEN4qXTj*&AamDEjcKvYuXIyuyqaYxJGtoEmO|-_QY3p;#$Of`5|) z-?^fFa&6<&)uD0Qc%D8C2ma}kCr+Q#ZG4wRvg#$0kNfvshSSIApghUQ33O-RdwNJGHoWjC-h4w_I07YP8?Hd4qTA zWSoFgHVpe?OxY_+;p`tj?q3sdlrFQf{QCSt9KS=ly}kXE?Z+iZ_`cliMo(Q}I1@dV z`GpTQy2;S8UQbxbOiQ~bFE78lpnsJ8hFJqG(5|&qj~I6S{1&#V+?ERneSMCNyin!A z+R{aCQ~e(D86yLO6r_yESNdI!Ezzv*yK@;(MK-#V4ppI6e1xL1*&$A3-k-0_CGX&y za|Vu}6u#wAZG}OLi_&9}bJ)Ix)qOIQx2Lm{MrM9?wnK`_D=jb(XV_z<27*1BrKJms zh!?9~wdOlso4%d3$x93&E7l`rRt(nK(QiJjd~FnQBNyJA;u5#lG!agvijorb7GNn> z5w!b@AH6-mVENHXJJ1kc>6S2gu9FkP#o$apa}9w6D(dR$KjxR0efUX6j54CO>Z@vM zbdPomj!$}xGGEc5^}g6|D@c#|DNI_b!i&dlo((nGnLIQNAp zW6a}%w<$ER7XTJ*7+w4a56vw$w`~s@%*wz=LnVzdWh^ZKwy<@TzXX$i@z2Wd9;|fA zsa*|VpIvLD>W{o3+vckOHl3-ZsB)%!L7^&PzkyURJSCi>;u@CbvkFM;k*;TEdjuB+HU+{Bz~+siL?C+`BmN-D*%M z-*8SRNGDJL=z|x4qb8rh4b`G%qf7QC3yZ3U#~x{cFj;7JYN|Lu6F^%QW@geGspfG* zwO)Iq2YX5CLpUpt08sI%KSR}{=(DR5N-124$;)kHZBnegps@X&k%grPN@w15OAN!Z zrHxHL`lYCdi&gWZ7~t9k8l|L~t@zv|Sk~Gv}IMd+ZpnZjofcr*fyn^Y(ZFlDh4UC_d82s6@BS~`R z{?~=gn}UMxh;~&z{ttHtfQ%qJagpLnXI~$EMmJMNH$UUZc0z+JenWV}_^g^PT*US- zhcL+y5}KHn5AyGBXB8Gc=uVgKzFM~<(V8HrvAMbVu*SVq&-<@&Z%+?E)hqx!`hS0D zsH&^ehc%|!^5vF~xXac-2`F)xQP7J1z-jb-c6Xrwty)M`>iIfZy*U~S04@O4WM^h} z^lIqmoj!NPY;S9+a&Nh6ll|xqdmOJ#V(oU#iuu4t!^-8#1;;)uQ<=yw;~x(=jHpXk&A*mbHrwg=_8#|Q%yrB(fpNZ<8TkHy3 zbFG%`BM-r;J-6Gmu!)w0`&5KfWi`J()I3x$mw#0}EP5PVW;2=(Wyq}Y)isn#pJ4jN z8-ko>J7_{lx#{h2UN3vvzbr1kps*j|*k!d5VjLa6JYqUaxso?k_%jk(z?rYp+?vt- z3=1Uqw`7`qnAxupEeN_S_be3Dn^;RQ7eeKhn>bo)&TaB6yHhM9tJ;psUx zC1>X{zz6Di4?pPdPh72>d?mGDg{_^uv%VxdlZ@0uje6; z#v8p&*L6G~IP_WDh10NBs61Ew;@-WxAtNCn;lA0cQEE{C^xkTIetuuoN^K5c=};2R zyKsx$K1bU=mcx}!XxJftJB@ulA$+vI4iSp5s6uSJK+FS|g^%@rM3-cSaBN_jA(upb zchXQ(n`?@oJw}i1N$lM`ZxRynE;Fk)L9|TU&-onA_yD%J1@*0M5>SFjf>MoYx%i7R znT8)}UmTRTG6W$q9yedqb?lTl?z|Ki`trIfofZ(bnw@yb4*5E|sJQqtVbEpVQyV*z zVGDm+*!%fs;!^?o=Ri_-`2Dl9v|o=osNua5BQ$kT?A5fivLGi*yu4yw|MYb5xBz8X z2F5*_MJr|WaH|}^R98=y3PJ=x0c548({twL0l)$<(NSJ^V5RH1_U%VYiwYzWO1G&C zR>PHQ+@@_k@%#?TW%w#gR{rINBmfi`4kn?T3sHta!wKIvZ{BqLc3ETgjfP&QKamJy z1BW9lmSNBJRsjen56?*`!tW;s77CavO$!!Xg|g=26WF2U#U?@)<(6u@N~xLZJiw=DZI%gWTR zUAqRkq`Q&ICwFM*A#}rUUcY8Mk2_nlJ)#0=1wac5ln1GjH+~<*)a^^;sOKrGs6@5# z&rkr4$N~t9ai^Din_OtrXaO;pos|{QGOetp_GSo!x#e@{DRKS65?~HBH8uB@nr#T` zwy(JU&^}7T5`;87m}#}kKQ=$B)h}Qm2Fvmw!RdN!_EwHPJy+tj=Uj7i zxQEg)l*aAv7E_wiHp1Acp= zmQ^nnLCQDdEYX5hI{cT4+(j=zBOEJI@Op}g&}I2o7GMNsQBnOetA&H@Q4L076mq>o zLpK3b$8wuymz1c&9YcGr!bp5yP9KO6=y!}wO)ba21l(k1?(R&L+T34nZz*CyeMq1o z!l^JpozE}OI_|6*!W`Dgj)``r$wcwEZsnn$0C?riO9p zLqkJTJ6}&9DKr+b9E=nBC_z2|7^hyKm-qDPNnPhbV+#w5NNAt9+l5kP*(&Y%isAm0_&A3%oa(5y=wA zXP07KF?|Ih_$I^{VURc=3BXZ(K$}QGO=N_L1XiNEymph-O^6c30~`(@TNTt}$yXFv z%=w@0_UkyvPux!ircA`#wFzQvqfgtWnMb}gp1-(7YYJL@r%|tM^QoqYU1${25HtlC zW18eumR~u46Yl1NJ7+pRqJpS_Ze=@|6g^D!{u7lHzcB#amDAo*`N9^)X2t#p&_cqF z*Wv!(I8h((u=To$7tAR0ZtS>9NCZI0J9ZtYWGM7@D~b*;@dO$&GBeA%jJRbiSFg8G z&LjkP&BUcaPa{T#SRUXTKPz2=)XX!v=DIPP8V3BH1%wc`E}?tyaa(HwbS6}TGnM#s z!HAN?62n8SK9(=>e@{po;0oGLJ%`-a)7N*qEm>f#4=9tFU=3`z7RcqxKMW}3xODA9(R+8sWZW4Bnz!(0Fu}rRdGa*FFm94A#LxIXo0v7k$72; zhe(g2%B*sr@GSHf^utUes)~s$)M9hK*L^-K<2674KxGh=^Pl~&EC2jp-t?#17o+mt zd5=~#BMJWedeTw#ix)2x;%p!@93Jc$$C*qVLK_3^2(%E*MJ%Z5qV68T1@Z?wbX8CS zp{B*J^(VHWfiq~rZ2hL`U9x#YS{@n4X3%4q`#1akmjYQ6)oZoIr48%Gw+1Jpm_L`@ zh{nT=^@P5Ty;9lN-%C@-`8$F!6^JP)l!ea{44W(C%2h}86B$eC_mh3 z6rCTkEa-*dyo`?%<#|IK`=3ED%D`7qc&`|3o^;sEuu3|JCz-?net>GJQ=0neGwv?ZWLSYkhYAIL(#v44|< z^2|M-%mcjM{$XL_xu5-xhSpuK*3kGSyAZ=%#oKf=p%pdF33G1S%fq{v(Zgum%9Yx^ zd<20YWs(L0x=gD(Sh7Jx-F;bEH7Hq7T`VD=Azn&m-JxojOvLk3wO+x9_ny`C@83U) zSZdbW1O*&tl_uN>2ngUG;V)jkyydm)2&iigy4GIMpgl{9j z0kmkT`=&*2U*Am%LL}utT=%9(yzJ@dpvIIzAw_J>d~R`DS6hN$sn3zO*OH~aY{;HS z1ZJu4EvHe5?fBgTP=A2reFyy187j|YqsCV^63YP>AYc!n{y;(D6|@;5hdV~Pw)Llf zG&jpkUzcV^!ip~sGzur*L`Pd3>~2Dft^}DCB^W5Fvzz_;8bBaKvudZqkR9yy*G2a) z^oH_|WPXs1q5tk3^ZGSiU=T^*dstI*wR_9QB>3pj;WnADdkG4jg8m$UqRl|LLXR+R zI}6}l#lgX0BDob1nQjBrov{yGuE(XU3zbXO@?R;?K|1bzY8Y37v{<{_Td>6!_RhLe zhIiOeWumNcvU72;xb)Gt7g34*=77|8*MIc4eC5)052!%bj{)N?ga zcl+ztFY6?3z=SocU(Wq#Q~2{pgwNJ*{~hF7En)){4z!%h#bEN737z7Ieb6V)}FSn zm~yT?p*Z-*h;9VfXHP4 z7r;@?o)=qbL-GaI3e-ER?ca$q38TvQu3rF#75drqX|C(X;zh%pBfUc1RZzM*J2^jJ zzDD#07!T-{K$G-0Vc$0}A_;_w>>=d!NC4F_Uz%^AMkXhVxw*N))nMzs0$q&mVkayv zpds=NIHdm()8G=*?yUJNoI57oBjL`3DBHziB1kMA#ijqUc6qdOj*H0jzl_v>C(-_o zweP<#rT-^w_y3^}+7dXP@B+OT&>F~r#9@s$WT2S=Y6XxF6o*I%OB7^4=rwRmt^a+U zl*A5flD+^efi9(?^mgbP^E3{ zs-rb3n3IQvj{>eoJV%gd7TDU#M6WF^=-was>Ys*#1->XD7y(YU5|}n)63IvHo1g3^ zH=vYdR#rX)yf;+sR*Ym(X#2HaUSU;+{0g7}@rh7Tm{L2fl?_CECKP=s8xD#kQ0F)qL-D#!@2mjID-Vg0Dj1w_F&Mk-Eav%ts0i*!- z0Q-Oo4#{yZZHdxG2JT|0%B8@2)t@R8h-Sd!pnM0SoB**1WCXAvNJ@@`{0|ogxe`fK zW;{cah&hH5LGg)61}G1ZNYl;fm&;jX%dA}7DBb%i;ss*f80y1qHRCw^fss zeF@mj5hxJgx1c$ehCrRRztLvf)eNNCm6r+j9|nK@$^|eW;{#3T#qDpCc2<}&dFVa* zV8URKfck_51T+Lw5Uo|6m~?ELB;fzZmgz^|?8$&(tf=6(!=Z}SXn%r9r;55KN+0Ac z2a*>wu}U5ug2IE~C$O(vK)mj7l?#!hdB*F$dJF_8DEA1Y@R0SQULSEb{n|D)sPAi< zTw}cQ5B@Jt#;B^8yH*TP$vmZkg`#!#?v^D;h-0(Yg$VCnM~=UUadXS*sLT zW{-|qJ+Of7fL2oxlBBw`^KB}f3~1fpAka0piR?WQ`2-Y7E_Z)eEFgm877LTsy2ZI7NAQ2`yw=4IiH;aZ2snq=#dum zu)vf0i6uAwbxCBM{(3p!*hT`l9CRi4=E4^bG^DfMe)-#CE>-l$$XXrr!*H%90OmMILtyYr|CED@E%Oc@S-l1DdQn&Yq$eRiJq5?U8I|QzQLr1$zN8Y^3 zLN@r9t6U5(uZ6vMLJ=M5-h4^Ny_P7B5l@| zof>5Guc?;#yrt6QC6ko|jux=B2e4!@iVVPl1D~m(@1+JBE3ofm+$JHlhnoe*T*S?r zU4WR6*~nPa#7WmS=tvf%@={h_V~-( zC-Heef=Cc14c+#Ae;yd82K2sa$sg|^+3V-6@`M7 z!#QRINp@>4P9SJ@N z%pshSU_pxBS{W^X2GFc6o}Z%0NnrfSx6xf6i{U?}#)_4ySKI1Tu1>$kcU1EygCq~m z7sL<^mCByG!jjCONTVW3HM+YXy3k7G%_@Tz@-FA}jJLHfGnuPnJ@w`tYAMC5VM@PV zS=w3qv0a;eiuITn^DcGgw2P(Do@#4SmC|7SQ$Mz|Vu6F<2|1#KR5UV`T!I?sa6Tp0 z`;G}q#|9GL!vAL6BzF|5hvgs9&DuR49Z$)Gy_J80M2Dq8X=6n^gr$!&@)eZ^q8rBW z|ATh;U-7a1KZJGu-$z&fe>r2n*wqdVB##4Mkqc7TT*rHHpiNL6%l|Zi2kj8(9I}z1 zR)c)G0j>}|P^+VjwUDUwXSzl0;X|Mb_&*n%f|(b;Gqk*BZEoHPwFC6OTOM0aTHkVt z1K-|_RFZih>w$v#$3WFzcUTIPPwLrA^vK45Xho!&gCFGazv15SWCFPM+Cl6BzElNx z3%V>ol0+gq$%yvOQprG69yFTn>#e*_of22)z}pcG9TfD}iLMi8b=~JaAhVjfdLLFD z8C>7v$`UwaQc?ks&&p8@is}y@L;ywOSbzE|++Y}Nd=XZCU&2Ejt; zEV;*t4TeI1C*6Zl33c63!Yw`CC02qFrV5^+2e(!fww;e!N> z2Hc80-|ot}XV6+-^AXo71DO|c&$#!yZ81PrK+r(jk3g_)Te7KEG`xzO8Wj9p1uKPe zMwl(qg+@7ve}O+F<$`??UjEXIuRwcgkCPbh##38H;`x3Suvx~XXMO+v-FuJR^zP6Z z8%&wg>ewCO-Pu%&Cr^5GU4}mZjU|Knv3P|H0Kn#Px^W_uVbET0e3BUK>q|!o7Mc~g zU;S=@uYqMlhz!IA!0!Mms$5o<`}4ZLM@z=0Gif_NYLcU${UtD5=OfBIt_P+#4RASp z&wbvW#@!nh`@&m}^5AVe^f!>V!R^-(l@SqqFyL9jUl>#M*UX{LG*)p76n)Ua4eAa< z52FFP7O?=4F)t;$8-b(@s)Jc6Bwt+gDEF^V29pX>G=UHYW>cQ@c$cK3zsk z-j$!)9X9KfjK?MnGpGot-2j-Pbs`?|h!xK!jAqkYt9xc;^4|RYkkbcJo>I;;;?ChJ!t^-%`qqTL(`4DWM z3!A_{gMnz;9?>I9&LE*SkJ~oE_q6@y!kL$YQP3bFRvJPf#`RFE(yjNDX#as^f2KKnDs>VQr zcOUaRvjLjw0_ghz(78tOiOT?xg@zBVpI$!hSk4;{qKY0}i277{-4z?hARa2_DcqwG~+?Han%Lpgq+>Hi=bA1cZU|+?E9%086ZL!C}>V?c3E&kmaEbZk}0p;%`m1 z!azDdP^N}=grD7|s7`X9X9}ef)kBWpTi*Mw6~oJHrUEi1EPUu4bMOw#(9lL~yQkz; zea}LO{@r3Et58pF@Vm0>d{P2?3D8~qBD5O)TKp7*TkZ%p`Sj0>c{N^hnbkkq)JJqD zlwMG!>ROnvfjV@88nyAC*O(84GBPoGu1QE-kBG{D%x~GpQnU7*JgHI)o#_&s>1Z`b z6#UqI?LLPN=vd6mIW3b()o4=zzA<=Sfz_x4=cCi0aSRhOI}4Bemlvbx<(0t^XoUeR zaG(Y95mvYz+}BkW&Eyz;Z!Jjraks7F;MOWBbV$LsZ~Wu6Hxt^1AngK&wy9nV?90>6 z$kQ%I4ZU7LdCO`fRC;9WT8X)iv?WKl-5PL3fZe9Nu~907q_bZO4FhRLd;K0#!P*fK z>pIIyDftCj`Oq9OzQ;nRm!=VOY-xuh;( zSXUq>0rj|HDhz)Wlbm;0t%ZRuHEh5E-8NZt0db~W%1J?SEc&%N+rutNAj2u3L=Qxx zZoUpbkX~LZ9-|BY<-UQqN17Gzo!}S+N@UjF)|iiCIp!o98M%&`u>)Y|)sYFm#e?404eA8!ZRk%rW+Y+s&S>b_H{TGj9rFcY;jxzb zf80&H$jaK5d(Cc({$UC@DBvT^XhD#yAP&1Y>EKBnF{CG~v?`I~Bmk-=V)mgu0n3wm zjNJ(2@Z+r~V=J%>j>f4D@4(u&3kxG6znxo9jEtLH3NX^p`3@#I!EackdHrWJBvT(i z0btC+W}0041Y$Dr%Wu1?6!2;|ll!&maw|;w4cX{S(6vF7NjFd2$^f?miWyXxT!p;p z^}$$)#gVz`o*8T&2TPzI+_oBMGA!ai@VzGNu9|MXRUrm%f+a8DiYdzj))EIi;ldSO<0@%T!x{d~bDcOZ zs5(-*&%XC&{wG>$L=wgrymrQefF(h`I_sKEbynR_BCui8gE&oGu^c7ZxsgpzS?a`$;gz(P=hvn&|&8Z-`IH(0fbkU{@p zh5ZL)i9>G1(f`QcFy-yuTio)oToP>kYg$uNQ^;KgRi$&PISN?Xy37AwRW0mwI$&rf zY&^P_gi;0=ra}Rwf)=NbhXRi4PLhB5=*r5LH^dw`0Y$DJhv9X$0xB#4Zhymw?IAG&~SXbSwqsMo4tlo1gFi46uC+)7RMl8JklN-D)y@D&%sWx5<+LcRXn2Ys$ux|m0qKS~30G8~3)vI`a@Sfut2jy-(;n2e{=W)>m;w2SQJf*oGj?0e5Li z%gY&-&js8CKM*jeVB&)+fY3e*+EN7(r@gf1y1&C-_Bgh2CTSU9TJNu5dT@lGzH-3WZrYtiY{ z37;ITtMIS)bW{s=K9Q`e<1n>^{ZP+A$goM*4{Xzy(M5E-oRiSqS zU?&+y*-BXkp4NqsO(Xgg9DOOeFX}X4aWN z8UTF=G-puhlN^JIzj^lHi?7VD}MG98s`7FZ%GRu@ka@0T!&!($BX;aSj#k* ziu=O9?8RWf1py))@c7oJs{N59t@J8y5F&*2#_T>e&9XJMwe^9?>7u@H2!NJRBOT!#|ncelE=SfcEuKLNP>}Ny$C#-ycYn^Ck0Kj9UzCJ8_ z5=*ZTpNXi6-QgAQ49NYOFjUA;1jQ!<>|cbt1$1z%a8ghWAm2htOG&v7DvH-Mv%ZXw zI%Fl-#sPmqxgJbiz+ynK0lt5QATkoYI(%**H1IPVnoE#4zC1gNG+)mjGsu9>b^+BV z{AVS#|H!{=|I?hy-}b3zdJae&<5SvVl(L%rLuuE{KdO2BN1hj>&|>P6qW4V z_FNA6)_=~f9i?85`lS`gn{o8}T9|YMVKdi_a{WIzdp09jTvzJJ#oUV~x`OIr%IX;1 zP8Kov=-I!K?aW-X)r`(r$>9|*3)xPJbUu{8yCTb7#}cY*EA)(3cp%!*HK%0GCoSDe zdGJP2``*#xmf1a)Njs*C5kl7HNA6jFc$Kvicno8CW-KGShr`&h#OOgCmsVUkdboRp zsahZ7`yuExrnvpn%p{HU8n=K{kwQzf=XL#^GFpGDHs7=7pIp&NQ$G8C088S*8kJJYVIZdb7;<=#MJ=zQYycY-*vy8^JE5`~HPd}zzEN-Eu|LHqn zCO+{qmP4<;^$k|XmdT0hLE1F|fat$PNE#GC(V&N+^~6=-$Uhyw;5R35uacd5i1|hDoH?Pm$1`6|c0uPFAsV^4fLu zbqyx^0({N+*1vlWU(#prNA9670fSX~^oFkb%nCJq+!GQHV63U1`LeWd#L97y;A?DH zn4{NIWH~J)tE(z2SE03kw7W6K$jJB^c5AEx?~_tcz}_b>l`;vC{GaCn(4tQ~Fi;I~ zb#ZhY10U13oPydHU@G&uC&;^yY&x$oQpJAP zbP|W8)sIHkMOl(4GQIM>xyf5A@v3E4>VO)K#Ut)~^PN*Bdz=QlHNLF0eXV55^p@w% zZ&;HMcxPq}!-yH(Jzth9(xi+Vn082`%iAd(adp+OqVduJcj(ixJae+j%1YabuV=wu zD=e)jdN4Ett|J2|XlB;dlCX10t6m$|Pnzze#DkQizX#r#*?4MdsY#Y`R}w@;RMUPB zztuguLGN5ebI$M32=h_T3s-+gIdJjl0&{kHN-HMN%A>sgG1s?Bemg~6zr;jJ7@z^n zQZ?1McK)WjZJym3iVrou;ncyxtMNbmIezQg3I8Z1H!SZL|FJ3l9BU|S`JR*M2~Xv% z^Q9tXA-L2k!(sL-RN;gDXD1JFN+?(Eq&i;Pmkx7U4}7NPNK@`2Xy3RY7O9GBd8uUH zg_`~s4h<=rWkPoL-EN-bP3nvOY9FJWPeh8|oDC)1M9sReLhgJMOXsT@5r?Vu~)@wJ$tFTIXmdpJiIy#LtUynII44 zk@u&Q33n%{tg}+qxO%ZiLx z{IUo~ZNGx$jS9dr(_sD{D ztsXX4JZmtNj&$r3vMwI<9I=s-Oue9`rNzk39_9^CXeb2EOOxfwz>+gb==a$u z;ip%g-4mosCB2AsLM)2z837K-^!QQx4Qea`4r$N0pC6P1@MIzbpB#}feZj%zk$H+m zeIh*MY`EMN68u2sd@284!X_>pbvA=%;UVD!v_?s9=tyr~JTKfN?Tg1vO)e=%74YO4 z&Sd#6W4(b)V5><`IJ*tcgKi$znvw3t8SYn|B%F=2@6*o`#AVl0lT#Z$UewlTkrot{ zd`#P8vnkFMXK-H*K1Lq7Nz`L>_wLCjx5?>bo@QrD%gIqhZtAnr9x@v8kQv^7NApaK z+V;0ls~9y_RP(9SwZ&G0;z1=XtzdArONy@l^&F^hVBq57Qc_kvncDdrv?*A`#8jEpgD(?GO_PIvBcS->P#h24Lf8$72e#FRe0X^0T*Vh|bUX_zQ?Zif zVE8;|`|7#>niA959RrI2f~*5Z1CDy7qEk4HLUh@|8aiRhUxdR;MV_nN3YQE1Xv`v6 zXmv%$7T=KQQKRpZG$yip7+zeLM6svbR3`liB&OM7O87@iR#*m-c##KQ;R3_wPY_N0 zwEOsTm*F+>E9`uO?BMnpe;Pvpe1)@_Z>R$fIE+Ii^qPfo6)57wIF)f}#$Y)(S4AWx zwb%QFeXJFj!f0k`2?Gm* zDB}7~jy^3d?XyMc1TY_Od2J|tyU#p>Lw^TQQOj)(p48NOtxY0}iohW0?L~ z?$0-5UL0{HxPD5E&sa0c3=9YF4lKnNdvd-= zNq(3I)7bzdK#(;RIg?J6Zy&aAC;n91si(K4t*kWk!X(aN;Yw#@pK##nIyXZz%+JH{ z^3w%M|E3G4s8v#G!3W@*+?4G&68S?@a z@(B#Q^Yh&50c@up2j$^~lM4E?8S#r1(phwp{Tnz+hg&7KCch2;TxJ06XdU=8qSz z#_-34Nvq;Phy@+Fcee>*V`BlWnzD8e4ZQ&I`jZYD$O#ls9!Uh9Szv=xF#M6{)-4)h zyl=^yX!Y|9;bShW$UdG3|((x}iTLperjZ046xsCOP!i1CycD6Vc_G9h2 z&FeKE_EuHoZ6(9j41mHr%COhQ6v@Fj*sZk8k14~-9y@jW>fRKH>C zAeNR@_ZlVQ>FOnTgwQt_o|GgY6&)QNlM4!nG87V?Ha~vaIC+PW_%2vMAG;0ciFL@+ zUGzJDQdd`Z^{;24wZgA%9s)lxth=}+rKNUMRai8q7VN?`!~7fEDJW=8!Sn#g@967u zZe#A=I4Yz(Go!PanSB%7*}3nW@7P_c7N#Tu{V52ZKC}I_1<1Kau-_zxxY}6j)uA~4 z`MY8dh@r3KA#2|Y?OND;1Un~PVe?gLl6hPp>^DhHO~nS18Ttp@poZu7u4m@tOqO@c za;z?u6c$FD8J7hg@%Z+h8+Gle|1w~dzDoM~?Qzw(eUoDcM#9(>Uruyc@wBFwI>O%6&dVJfHfZBw0#cd3c-3}Ler z7hK|lp|FzTj6t-GnF@c+Wu5jg@JOr=-C9|NQ5%v}UK7BNt z_UW5DMYTik8=yL^!egE$ zz^T~)&vuH4ifZ6@KQ13H4fi&S^YRFw5#qUR{p+~_$Mf1+5uyFn2AFzRc<9te*q(v{ zQLmchy%KIg%@!Hju3!JC(4aZ;hU-SB6ddf*g7tYQPMwULPyAif)vqAq(LN}zLJKQE zIHstmQxKl9uAHNnOA@&zl0<~#e}XUwn=R&LObtp#(!33~-QrqJLaqsJrL;5`h4l2O zrlqIPcicpICdFa$lqveh|E_TVwc3*y4f~GY!#zQB>S;ao?%p0iY-l&eASgH84SDPx z^q!wT3G)T{L$Ba!B;B3JG)-RSe5MyC>qd#RqS2c;NYGmUkbQH(?mT3bM#w7i-Kago zJ=HNfN)**hyg>hr6#_XShw_XFwt`K!>sRh>>QnxAGP7U61Ex+C)Ex?7QBx3#KOly* zTO`fq2ffqEN>HoGq|CxaTpBnKbqm)|6YlN8bLa1Vq&yS6$;SsF_wwF#*zopo@X0T| ztM%>_@eaMI=TE{_-o@QH@CGQW$-B;iKjIGoy9zFn&r8k?W;}Nv5PJe|Jy2{)gdB2^ z8Z>!1^UuT1m1U5QiJlMy(gAE&B>|m#}{ny!(|71-exEZ*1 z@Y)-}BM{KqH7wNpSHQ3Lrly-i^^um532tHcKo@ZPT_J3*l8!v36@39OU<``Pz`*l& zHnpS>+J)ASbRa*&mVEe3W^V31H#h#eUj1jID~<4sn`f|}{}(*_M#xSV3ku0U!y6A3 z0&Aesi5Ws6{S$>($W<5&L49G1I2`%zi82w=>N7A++=ny)=OMF&8koMj_4aujeskoVgG?MKqVm#qgn+iIYt@E-x3f1$+!Upg7cQjBbD zzjbnDp&t#Aq)nHLJ^Aw6#TbWziBOgnAc4dnXtxVr8VC~-!U5oNX=N^gf1eYcL}*=r z{ybuvC)I$S=cfO)@kdhJ}N*x>;CZ@Aslanwpp@(UQ zPeLI@2aF02$BJqBw(4~je&MB9cyMuTH(4Bob;^auuAaiw=$~Z2|66psdRjn3x|?Tl zw2rD>XdNHQy7$3?e$pCWG1QCw%>tiq8A;xF09L@LkgHjE5~wFm>xx>1M4@1`f1(l8 z?oNOqX=!wFi9)1kBMzr|SK92$U{FXt!sAP-!Omc2X6D;H_tm9tPxlu*8Vyz`=W>8I z*!ez!+iUSx#U-#+z|6emv%79x``3i!VF}~zqto);h)vpGcByNq_df$+#Q_`5e%Uo% zgZDiO@pzvE<~aj+uu5iD)*UGIAelTz-X2rd{_bvnkXI(66h-_nOOkeWoJjZn1&@+Q zT{gZ9d6NA0lh5#=q@etKwyEF0A5H&wqxsR`1k8)kaP`}{g@uOY;i^LK1NWZZ-uG2i z5{)1kc6-MA87HWGM80&;df-0?)(+cz)qsh(vfQ;R_JL7l%sEfdK^;s$A~70(cnX zOR%vTfcxOBu*Yp!x=Ombq4V<==m|jZHb6N8Wme?gM|-2Ru!;c?`S)6UgN-)<07j-} zW*V264T6SXgNTxvS^%8&XQD7UJaq|H&F7IC55sZ{C%9ao(}$D1`cH%!7sU`(|_0!gnC3=m$ zcITvX)iuETFCQ#y_5;oZm2hm(H0c{$HwS3sP~_1xp&-9`^JyoaK%+4f1iPuG3ngV` zDS$-a;3BZ4{27FXW}Z5h7>q7>_M8BrKZ1t`z;l+q!u1zI5a_rJJ4s7RKd*{9=ml`O z+9k_QBPdADZSwOoJUp(Ww>JPZO03VoKfp5Y=S~hhd!iscuI?Q`_5sTw_n3W!52xwFg)Pg5RO@J9r3L**~`0_M2m&Fqv zSh<7NN5YCH!!nMV7x?B_$;WaA3GM z&0-S**eKjNI2a6`qH1uHz2$eHS5{VjG<;bXEiHH|0R!|rW43(BjCft$-D_w8!-Q#; zJt2kSU1l@-3Wl{Bwx*)+2EH@hd;p@WcK?qoXu~3Cy}*b^ym=DEKYv zl*g1)$y7>-Ddi@T^rU)>FeJ*kyq~XG&p+>f?^>@lYt}Nu-S4o!dtdw7*S>CLvj`Ks z3QfUi;>n>plkH_$w>5UOU)&Yxu6uWQYh)QsZS8*Ovedw1(~+c`pk0OG>4$#M>fXq` z8_zfRCeQR4!TQzU^9_j@Q}mwkM2jIBE`j{$A!e_%Tgc`Wa`o*Zq2X(k={CIH+n|+J zGp6c^IXGQjRvJ65#IIj!zm~J|?2pcH9O0wA{75MbRB?P>XPNc%UvtTK zzNhDS?#Zob&{`Uonwn*QAaN7y*h;%y#bZrX6~xHFd&7o`F~N_vVkMSYQlhphN2%oF zt&IZN?muv#;@-SIPeYtf!GwvUhW>%qP-;{XL+%_2RK*#tk|oO|T0IzTS2UUeg<$<9 z?=W^WAB8CF#*G_Mkaj=(pcp+woSzXEwzk7W>EXmxrx^_c?UE=8=zmw(+HNPEpUzfk zJJK#54r11FUIcx0(&5ALWo72{>DSsirREugJbm)SmB)PJ=FRy)n-S9-==f9n9go{kYA9moW^Y` z4(b{a8&|m{B9ab&D@py>$&-B%ndJGctA>3ZK4OI1^Sa+io7Jnw)q~8M!`_N~OnHz$ zR275K38hbt_X1)2^t92X(ekngxJjzkU056bDNDD1?~imX@-p z#p6)`9V;ptLu;z{YHKe|@VD7je*Q>Q?-mXY4i~1)nKLHGU^5lW!Qv1Tq z6U~ngQBXCEve6mdHa2ZyL~$Sa86sT~s7V|xe2ZG}Jn)*j>CJzv={}C=RT61~&_=Ys zdS$tBqb?EI?H5`N{1r%mzbU$RGN~w1Toee5JglxPuc@o68>+s~a}+}|vV;GXChAJ& zx|MGl!7T7ClKT1`=(YM7hCh4BbJCeOachI`?pN-JAYsfcU{45tMMXuohOPohU0pPY z#ZYy3ySKH2g9U*luu9Q4v`n?81F5Yx9T*)8dbRjpka) z3l4PV@L*`Ia~oeudKQ8aCrl9apmL8IJz{*oWOv%_loXZC!NHj)PRJ0Y5hZFQY&t*g zeb=jvH*em&QC)4}?A(01v6;)lfO-e$}arhjp zue+{0YRK?$xP*@S{m+Z`Q~n`KJV zD1UueQ*tlDafRF0rs@s$%@H-+t>au#dB|+Df|$M!HGh?ceJMLOaY#tyT6| zyl7EWsY~4bSKibh7Q|z5y;3G~Jxx=foj9&DfQYLxyi|2gKK0g!L)|wX_e7%K6C=D$ zyB#A_?>>vJY%3)p((G>sa2w2;)yioB8RB`oEkj4(!zB}j87!US9vXe>Cn7${6aK>D zQ%{6AEdbeq$APTrT}85%w10mzVe$xT8gVR{#^(Ap8T&rG(4QkfxJ8$`Fu3*#pED@N ze2Do~5B>C^(|4rOY^n$xgLIFVLO@W9ccQdxzhvnDSnA*5@7HoNAAyzy43)ANTqE7+ z6_uewXskQ`F;QCLub&)RT~&4EgoFO!B{p{5Y27;3cXH2GmL_=`8N0E?UHdRt%Ub2Y zj|Zk5ka&x0$j1YY-k zGVf)@-7jnAis=KMNEO(4K+nYrw8l0?C6pxZO(UACg7tYno~iQFQb`%q8({XqInRN; z(5$0aER&T=GY%Rsc27U5un}oTqbjiLfvNxBDyJ(qIuF`CGSg>cNfaq0BRBVT#-_Jv z%d`c}2L%L*Kt8w7s*1?%1iKwSe*8Nufo}Zyr}^5oV{oMHdSB$E%NbA{HjILE_UHVw zDm$)i1$?UE!NVJBe#KG|4etm9Lgkw;d_>O>)xB}$jY^iFzS&k{k4hYT$ zUrR49udb+Z(N}N&stq8doWuqh3KK`Dr!xbc-tE)sPyVDo<^ZA!yN)52EGHDH;NbeT z!D~0K-d;*i7*#7QjRTZOV=uVOG*ROw0&huDp85pP!PSsmit;~CM z$L-()_EEWLifKB;WpAGkrq)Sd94>8VXLak>?5Ml8Q=rzhtjiGls`mUrrUXThb1U~m zbd4hgTV~ZFsP#?}^%1~Q;CQwm$4a*2tNTR<-H$R67$UmhdL^lHhreMp?L&ob#8&*X zMxc3H1mDg*=LNJ`iq0)OJRG<&Z@~g-w4u`@zI<@)aa_+s&AQt^>+UZS&zVaXOjovm zRc`Q&ol?bH@XH^KG~l2ooCbxQRxgZjZh!tf!Rgc&wykVzY@(@*BC9%@Q0g+o?2}|qF53!Rx%Iw(m>tnrVtao-f#3<8wEhy^}IMD*T!zRVF;6)1>A1h@UhT-2rQ z;~T{50{PRt?h2aWzTRc?&n{{z5AsQ-gehLy0aR?#v$~m?T6VS=jvD^_xANG?FP$qo zErva2+m4!gB(nDx(GBh~d9$cXFIT#9QtGYPJ9mCaUh++-A|N{XtGM@*j{x@Q3^SiQ zQB6jM=R%)IY~cJEV6Sj;QlM4=e~@}NcUmfsvP+Nb_(jFz?N*N|Gq0jk_#^!5JUS}ZsWs<3G2K!5~^<)%$D zgdJdr$=D@__4_hGp*s|Snl34uw2p9p@;8b}Chqn*%f>N94{0E#W8pW@L46g2sn zU{o#UE*PLor4=U#{43HntX2q}R%ecL&j9THEe%z#<2N_bW8J#l*_C$hy1I^Cyr_hL zb|Ifc9?HX55psyGX`GSKC_)%s{;KxTFfrlB1xxh0=&mdAE1RA@t!3T1b*=1`T`R$@ z%nfv#Y#MHC`sMWk5vC#R2Uy*5*Qxb%v3X1;ruZ;2ps+*0yL9yo#Fpba>$$I)$Qp&# z)`(7exRO#!;fu4Q>keISnWC!DCjJ+ek30GKioi3lnIxx>(4xNHsI9FON+>$b(iZ=# zE&h+69CD7;vZj~&>$LGDqNx(dBI+E;Qvx)lrxM{?^5u!{-jtMtIj;(&>4Zs)mGpeC zS$r7NPeJut(@8zI51v0;dbV|Mo7B-JKPyrST4d4C;Sk%#u5k#&J?Mta>=gQJJc9jx z@I^aICO_GBHo3WDB%eDHRr1Ooe;f$&FvQ$DWdcoch5Mel6No#yvP%TqZy|7<(HS~= zeitKz>K6r$s6f$GPZUAwZcLq9F$EtQ`MI$fKUoyUBsJuo37jx!L~5%K;CZKV~wMm#xvIX_}t zq1tX)mMD(UfgRzgmU$ZtSbZ?&-g+gjp><>A=TySmTuuXQQ6W~c^f0pBd-(7~(4BS! zS7!M&;=*l%r9_{Iuf^o;{;aTx9pp~2bxmEIbpO`QiJ13`=ytv6AU;|u`lg5Ch@A@` z(I#eKzo?U-$y(ry0BTJCLsjFk*DGL)rvhHW(yj^f>b?8+X=*`=onLMLulwx*&k49; zbWyF%sr?0@V;IaL7=JkEzCArXj0cH)BzK=w zUr5l%M4M|cyKTSaD7#(5_)u5lY%>OEsBHFB4hzTLX85j_F!v`eAHz(^?P+f(PFt1J zo%oS$Q)LFcxTE8ef{e=pYjUQeE=w(Rhi8EEfR+&9hHRNiohon??s( zSGTz)%Q9@sn(wl*UUa>CSJv^~sy0S2e80SHyoUiCqX|aR>O#Co0Fgf>8^%Y^1J?@t z61(zB({5BSD}u(F9ObdLoBV>5NX$T7x>TpX4ymOM6qp>;`>#&YIb95x{x4#Q$ElO! z<6%pfmQ&pot87UVyUdZDQTeheUT_NvZo*L(!>;uJs zqkS&lVIZI(FfO+K#je#`D9pKT6$8W^o4`TNvvc(t1Rwp;Vo2n8GJ+(@%+4M_exJiL zb-#a*X3_$}1ZG-;dq`iB;yV5lF z{H!5EE5_AyPS8wPK!5e&+44wnctwG0DpaBi3L%Bz-g6ISnzA#iT^q zKHqPQK;j^^ex#Bd(v+c?E|7dT{UH`5??)S%Pvj#|DTufZ2W)$*sGCK3(E2!Kz_Z}8C) zEYiV)v23deok32Hk51uI3j?>#zZP?|f05d7)!V?*Y{uawQc;Vv0vEp2(o}gS1~sk8H$4hl zQ-{|EXSSKihH8|rF43;?Iy#}IyWw)g(YUyp^8c+-dj0K6JoFC(RzslFt)ALC*BJBF z7Emxs={q(Us89{!A*9mu?%|lMB#N|gx>VHu{ofvkwzhU*qL#HX)@ls*YD31Ita<_s z(~>C@A2-chF>SwI);5LlS+k3^ zMOUO@E6=u?k3^nP3S%e5B~e-eEB0uJRXiyuDyd~=Mkhhp#`j|4ybaKSGvSIJLhepE z^_}6EpWSEP@;Ej(A;ZF|aFDFDRZ)E0e??sb#X08Jo&N`&Qt4OeI)j)c@`-X{yIab7 M;WCS}<}Ta*2Qrm3SO5S3 literal 0 HcmV?d00001 From 5c03b84b87b6f4c288d0bec725e7e9ace1f785af Mon Sep 17 00:00:00 2001 From: Toby Dixon Date: Mon, 18 Nov 2024 15:39:06 +0100 Subject: [PATCH 5/6] Update docs/source/manual.rst Co-authored-by: Manuel Huber --- docs/source/manual.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/manual.rst b/docs/source/manual.rst index 311df30..4953227 100644 --- a/docs/source/manual.rst +++ b/docs/source/manual.rst @@ -113,7 +113,7 @@ mm Use in a Geant4 simulation -------------------------- -The HPGe object derives from ``pyg4ometry.geant4.LogicalVolume`` and can be used to visualise the detector, or to run Geant4 simulations. +The HPGe object derives from :class:`pyg4ometry.geant4.LogicalVolume` and can be used to visualise the detector in 3D, or to run Geant4 simulations. For example to visualise a detector we can use: From 78d8c38edcede5ffeaa8b2bf9e640cacf0999269 Mon Sep 17 00:00:00 2001 From: Toby Dixon Date: Mon, 18 Nov 2024 15:39:45 +0100 Subject: [PATCH 6/6] Update docs/source/manual.rst Co-authored-by: Manuel Huber --- docs/source/manual.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/manual.rst b/docs/source/manual.rst index 4953227..ed1c1f6 100644 --- a/docs/source/manual.rst +++ b/docs/source/manual.rst @@ -65,7 +65,7 @@ The metadata can either be passed as a python dictionary or a path to a JSON fil Detector properties ------------------- -Most detectors are described by a ``G4GenericPolycone`` `(polcyone-docs) `_ +Most detectors are described by a ``G4GenericPolycone`` (:class:`pyg4ometry.geant4.solid.GenericPolycone`) This describes the solid by a series of (r,z) pairs rotated around the z axis. There are methods to plot the (r,z) profile of the detector, in addition this is able to label the contact type (p+,n+ or passivated) each surface