Trying simulationo of the hole(mesh) in the garfield++

Hello everyone. Sorry to bother you. I am trying to model a Micromegas detector mesh in Garfield++. As a first step, I want to model a single square hole in the mesh. The hole size is 70 × 70 µm. The detector configuration is the following: the cathode is at -300 V, the mesh/grid is at 0 V, and the anode is at +500 V. The drift gap between the cathode and the mesh is 5 mm, and the amplification gap between the mesh and the anode is 128 µm. From one primary electron entering the amplification region, I expect a gain of roughly 2000–4000 electrons on anode from one electron, but in my simulations I obtain only about 150–200 electrons from one. I have tried two approaches: first, building the mesh hole geometry explicitly with SolidBox objects, and second, using an interface-style approach similar to the ASACUSA Garfield++ example, where the mesh is treated more like a boundary between regions. So I suspect that I may be missing some important feature of the mesh description or the field/transport setup. Could someone please point out what I might be doing wrong? Is the problem more likely related to the geometry of the hole, the field calculation, the gas/transport settings, or the way the avalanche is started and counted? Thanks in advance for any advice.

micro.C (5.2 KB)

ar_93_co2_5_ic4h10_2.gas.txt (71.7 KB)

hole.C (8.3 KB)

Welcome to the ROOT forum.
I think @hschindl can help you.

Dear @rostislav from your code I believe you only simulate a single track. If you want to simulate the gain I would suggest you simulate the response of a single electron and not of an ionizing track. You would need also a lot of statistics in order to verify you obtain the right gain. Can you try to simulate ~5000 events (single electrons) and make a histogram of the gain?

I would suggest you first go with the ASACUSA example, as this is less precise but mich faster than calculating the fieldmap with neBEM as you are doing with the SolidBox geometry you have created.

Thanks for the reply! I’ll try to implement it and let you know the result.