Papers
Topics
Authors
Recent
Search
2000 character limit reached

Garfield++: Gaseous Detector Simulation

Updated 12 July 2026
  • Garfield++ is a C++ framework for simulating gaseous ionization detectors by modeling ionization, drift, avalanche multiplication, and signal induction.
  • It integrates tools like MAGBOLTZ, HEED, neBEM, and Geant4 to couple detector geometries, gas transport properties, and field maps in unified workflows.
  • Recent advancements include dynamic space-charge modeling, GPU acceleration, and enhanced interfacing with external solvers to boost simulation accuracy.

Garfield++ is a C++-based framework for detailed simulation of gaseous ionization detectors, including GEM, RPC, TPC, and related devices, and is used for microscopic tracking of electrons and ions, avalanche multiplication, and signal induction via Ramo’s theorem or the Shockley–Ramo theorem (Dey et al., 2022). Across the literature represented here, Garfield++ appears both as a stand-alone detector-physics engine and as the gaseous-detector component of larger workflows that combine field solvers, gas-transport codes, and particle-transport frameworks. Its typical role is to couple detector geometry and electric fields to transport properties from MAGBOLTZ, primary ionization from HEED or related interfaces, avalanche or drift simulation, and readout-signal formation (Pfeiffer et al., 2018).

1. Scope, detector classes, and conceptual role

Garfield++ is used for the simulation of gaseous particle detectors in which primary ionization, carrier transport, avalanche multiplication, and induced current must be modeled in a unified way. The detector classes explicitly represented in the cited works include timing RPCs, THGEM and THWELL structures, standard GEMs, spherical proportional counters, and air-vented plane-parallel ionisation chambers operated at ultra-high dose rates (Dey et al., 2022).

Within this domain, Garfield++ functions as the detector-physics layer rather than as a complete end-to-end high-energy simulation environment. In coupled workflows, Geant4 is responsible for primary-particle generation and interactions in non-gaseous detector material, while Garfield++ handles the drift of ions and electrons, amplification via electron avalanches, and signal generation (Pfeiffer et al., 2018). This division of labor is also reflected in detector-specific implementations: spherical proportional-counter simulations combine Geant4 for low-energy electromagnetic transport with Garfield++ classes for gas ionization, avalanche parameterization, and induced-current formation (Katsioulas et al., 2020).

A common misconception is that Garfield++ alone necessarily provides all relevant detector physics. The literature shows a more specific picture. Garfield++ provides the core transport and avalanche infrastructure, but realistic studies frequently depend on external field maps, gas tables, parameterized primary-ionization models, or user extensions for physics not natively included, such as evolving space charge or ion-ion recombination (Dey et al., 2022).

2. Internal physics model and simulation chain

The Garfield++ workflow described across the cited works is organized around a sequence of geometry definition, electric-field specification, gas transport, primary-cluster generation, carrier transport, multiplication, and signal induction. In timing-RPC simulations, geometry and electrode definitions are passed to Garfield++’s Geometry toolkit, static fields are computed once by neBEM and stored, gas-mixture parameters are loaded into Magboltz, HEED is invoked to generate primary clusters, and Garfield++ advances each primary electron in small time steps while computing drift, diffusion, attachment, ionization, and the induced current on the readout electrode (Dey et al., 2022).

The gas-transport layer is supplied by Magboltz. The cited works consistently describe Garfield++ as using Magboltz tables for drift velocity, diffusion, Townsend coefficient α\alpha, and attachment coefficient η\eta under the local electric field (Dey et al., 2022). In microscopic avalanche simulations, Garfield++’s AvalancheMicroscopic is described as a collision-by-collision Monte Carlo algorithm based on Magboltz cross sections, with the core loop consisting of local field lookup, total-collision-frequency evaluation, random flight-time sampling, diffusion-assisted transport, stochastic selection among elastic, excitation, ionization, and attachment processes, and spawning of new electron–ion pairs when ionization occurs (Neep et al., 18 Sep 2025).

The induced-signal model is likewise central. For timing RPCs, the induced charge on the readout electrode is obtained from the weighting potential W(r)W(\mathbf r) through a discrete form of Ramo’s theorem,

qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],

with the total collected charge given by Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt (Dey et al., 2022). In the Geant4-interfaced literature, the same principle is expressed in Shockley–Ramo form,

ik(t)=qv(t)Ew(k)(r(t)),i_k(t)= -q\,\mathbf{v}(t)\cdot \mathbf{E}_w^{(k)}(\mathbf{r}(t)),

where Ew\mathbf E_w is the weighting field (Pfeiffer et al., 2018).

This architecture implies that Garfield++ is not a single algorithm but a framework in which different transport and multiplication modes coexist. The literature explicitly distinguishes microscopic tracking of individual electrons and ions from higher-level Monte Carlo avalanche models and from custom parameterizations of gain fluctuations, depending on the detector geometry and computational budget (Katsioulas et al., 2020).

3. Coupling to external packages and field solvers

A defining characteristic of Garfield++ in practice is its interoperability with specialized external tools. The interfaces mentioned repeatedly are HEED for primary ionization, MAGBOLTZ for gas transport coefficients, neBEM for electrostatic field maps and weighting potentials, Geant4 for particle transport, Degrad for detailed photon and electron interactions in gas, and field-map imports from ANSYS, Elmer, and COMSOL (Pfeiffer et al., 2018).

In Geant4-based workflows, the communication mechanism described in detail is the Geant4 physics parameterization feature. A G4Region is created around each gas volume, a user-derived G4VFastSimulationModel is attached to that region, and ModelTrigger() decides whether Geant4 continues tracking or suspends it and calls DoIt(), where Garfield++ or Degrad generates electron–ion pairs and Geant4 reinjects them as secondaries at a low-energy threshold such as 7 eV7\ \mathrm{eV} (Pfeiffer et al., 2018). For non-relativistic charged particles, the cited work states that a combined Geant4/Garfield++ model must be used, specifically a Geant4/Heed PAI model interface (Pfeiffer et al., 2018).

Field-map workflows are equally prominent. Timing-RPC studies compute static fields and weighting potentials with neBEM and import them into Garfield++ (Dey et al., 2022). GEM optimization studies use ANSYS Maxwell for 3D field-map generation, APDL scripts for geometry creation and mesh export, and Garfield++ for drift, avalanche, and ion-backflow simulation (Mondal et al., 2024). THGEM simulations use Gmsh and Elmer for THGEM/THWELL fields and ANSYS for GEM fields before export to Garfield++ (Azevedo et al., 2016). Spherical proportional-counter studies distinguish between ComponentAnalyticField, implementing the ideal radial field, and ComponentElmerField or ComponentAnsys... for realistic three-dimensional distortions caused by support structures (Katsioulas et al., 2020).

This suggests that Garfield++ is best understood as a detector-physics middleware layer. Its core competence is the transport and multiplication of carriers in a prescribed medium and field configuration; high-fidelity studies commonly rely on external solvers for electrostatics and on external particle-transport engines for upstream interaction physics.

4. Space charge, recombination, and self-consistent field evolution

A major theme in recent Garfield++ work is the extension from static-field transport to self-consistent transport with dynamic space charge. The cited RPC literature states explicitly that Garfield++ does not natively solve Poisson’s equation with evolving ρ\rho, so a custom model must be implemented by the user (Dey et al., 2022). Two distinct implementations are described.

In timing RPCs, a custom 3D Monte Carlo routine implemented in C++ is coupled to Garfield++ to account for dynamic space-charge effects. At each time step, the total electric field is updated as

Etotal=Estatic+ΔE,E_{\rm total}=E_{\rm static}+\Delta E,

where η\eta0 is obtained by representing the space-charge density as charged line elements along electron trajectories and integrating Coulomb’s law over each segment (Dey et al., 2022). The same study attributes charge-spectrum non-linearity and gain saturation directly to this dynamic field suppression, and reports broader Polya spectra and slower signals for larger gaps because larger gaps accumulate more charge and therefore larger η\eta1 (Dey et al., 2022).

A second implementation introduces the pAvalancheMC class into Garfield++ and uses OpenMP to parallelize drift, multiplication, and space-charge field calculations (Dey et al., 2022). In that model, primaries from TrackHeed enter a time-stepping loop, charges are binned in cylindrical voxels, each voxel is represented by a line-charge segment, and the space-charge field is summed over all voxels before being used in the next transport step (Dey et al., 2022). The same work discusses the transition from avalanche to saturated avalanche and validates induced-charge distributions for a timing RPC against experiment (Dey et al., 2022).

The 2026 plane-parallel ionisation-chamber study extends Garfield++ further by implementing ion-ion recombination and a self-consistent Poisson solver in ComponentGrid (Ortega et al., 23 Jun 2026). Its simulation sequence includes particle-in-cell deposition of charge density, Monte Carlo ion drift with recombination probability

η\eta2

recomputation of the total charge density,

η\eta3

and repeated solution of Poisson’s equation for the updated potential and field (Ortega et al., 23 Jun 2026). The reported validation includes agreement with analytical and numerical models for the free electron fraction, charge-collection efficiency, induced current, and electric-field evolution, together with the observation that the electric field can locally increase by more than a factor of four or reduce to nearly zero under UHDR conditions (Ortega et al., 23 Jun 2026).

These developments clarify an important boundary of the baseline framework. Garfield++ provides the transport machinery needed to support self-consistent field evolution, but advanced collective effects have generally entered through user-level or newly merged extensions rather than through the older default toolchain.

5. Numerical performance, parallelization, and GPU acceleration

Because microscopic avalanche tracking is computationally intensive, Garfield++ has been the subject of multiple acceleration efforts. The OpenMP-based pAvalancheMC implementation reports speed-up up to η\eta4 on 18 threads without space charge and speed-up up to η\eta5 on 18 threads with space charge, with saturation beyond η\eta6 due to thread-synchronization overhead (Dey et al., 2022). That work also recommends FastVol interpolation to avoid repeated expensive neBEM calls inside the avalanche loop (Dey et al., 2022).

A later CUDA port targets AvalancheMicroscopic, identified as one of Garfield++’s most demanding algorithms (Neep et al., 18 Sep 2025). The GPU strategy assigns one thread to one active electron for one collision step, stores newly generated electrons in a global-memory queue, uses Thrust to compact inactive electrons and append spawned ones, and repeats this collision-by-collision plus stack-rebuild cycle until the active list is empty (Neep et al., 18 Sep 2025). The implementation minimizes user-facing disruption: switching on the GPU requires an added line c++ aval.SetRunModeOptions(MPRunMode::GPUExclusive, /*GPU-ID=*/0); and endpoint-access functions are mirrored with GPU-specific variants (Neep et al., 18 Sep 2025).

The benchmark results are substantial for large avalanches. For a single-GEM, low-gain setup on an A100, the cross-over occurs at η\eta7 initial electrons; for η\eta8, the GPU outperforms the CPU, with up to η\eta9 speed-up at W(r)W(\mathbf r)0 (Neep et al., 18 Sep 2025). For a triple-GEM, high-gain setup, the reported speed-ups are W(r)W(\mathbf r)1 at W(r)W(\mathbf r)2 and W(r)W(\mathbf r)3 at W(r)W(\mathbf r)4 (Neep et al., 18 Sep 2025). Numerical agreement is described as bit-wise identical through the first peak of the avalanche, followed at larger size by floating-point-order effects that lead to up to W(r)W(\mathbf r)5 systematic difference in very large avalanches (Neep et al., 18 Sep 2025).

The same study also delineates current feature limitations: magnetic fields, semiconductor models, and Penning transfer are not yet GPU-enabled, and only NVIDIA hardware is supported through CUDA plus Thrust (Neep et al., 18 Sep 2025). A plausible implication is that the GPU path is already mature for high-gain gaseous-avalanche studies, but not yet a drop-in replacement for all Garfield++ use cases.

6. Detector-specific findings, validation, and recurrent limitations

Garfield++ studies often serve both as detector simulations and as tests of the framework’s physical completeness. In timing RPCs with gas gaps of W(r)W(\mathbf r)6 and W(r)W(\mathbf r)7, the reported mean induced charges are W(r)W(\mathbf r)8 and W(r)W(\mathbf r)9, respectively, with Polya-distributed charge spectra and rise-time resolutions of qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],0 for the thinner gap and a Gaussian core of qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],1 for selected low-charge events in the thicker gap (Dey et al., 2022). The same work states that the simulated time resolutions agree with experimental results (Dey et al., 2022).

For GEM optimization, Garfield++ is used after ANSYS-based field calculation to scan geometry and extract gain and ion backflow. The cited study reports, for qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],2, a gain maximum of qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],3 at qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],4 in the standard bi-conical design, a gain of qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],5 for a single-conical hole of upper diameter qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],6 and lower diameter qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],7, and, under a constant-field constraint, a highest gain of qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],8 with the lowest IBF/gain ratio at lower copper thickness qind(t)  =  n=1Ncarriersqn  [W(rn(tf))W(rn(ti))],q_{\rm ind}(t) \;=\;\sum_{n=1}^{N_{\rm carriers}} q_n\;\Bigl[\,W(\mathbf{r}_n(t_{\rm f})) - W(\mathbf{r}_n(t_{\rm i}))\Bigr],9 (Mondal et al., 2024). The reported interpretation is that ion accumulation “pinch-off” in bi-conical holes decreased gain over time, whereas the single-cone hole alleviates trapping (Mondal et al., 2024).

In THGEM simulations, a persistent discrepancy between measured and simulated gain is traced to omission of the Penning effect. Without Penning transfers, simulated gains lie up to 2 orders of magnitude below published experimental curves once THGEM gain exceeds Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt0; when Penning transfers are enabled with the quoted rates, the simulation reproduces the measured gain curves within Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt1 for Ar/Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt2 CHQind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt3 and within a factor of 2 up to Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt4 for Ar/Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt5 COQind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt6 (Azevedo et al., 2016). This is a concrete example of a broader methodological point: Garfield++ results can be highly sensitive to whether all relevant microscopic channels have been activated.

Spherical proportional-counter studies provide another form of validation by comparing hybrid Garfield++/Geant4 calculations with analytic and tabulated expectations. The reported checks include better than Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt7 agreement between Geant4 attenuation length and XCOM for Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt8 X-rays, residuals below Qind=iind(t)dtQ_{\rm ind}=\int i_{\rm ind}(t)\,dt9 between full Garfield++ avalanche Monte Carlo and a custom-plus-Polya model over ik(t)=qv(t)Ew(k)(r(t)),i_k(t)= -q\,\mathbf{v}(t)\cdot \mathbf{E}_w^{(k)}(\mathbf{r}(t)),0, and risetime-versus-radius behavior that reproduces analytic diffusion scaling within ik(t)=qv(t)Ew(k)(r(t)),i_k(t)= -q\,\mathbf{v}(t)\cdot \mathbf{E}_w^{(k)}(\mathbf{r}(t)),1 (Katsioulas et al., 2020). In realistic geometries, ANSYS-imported field distortions near the support rod lead to up to ik(t)=qv(t)Ew(k)(r(t)),i_k(t)= -q\,\mathbf{v}(t)\cdot \mathbf{E}_w^{(k)}(\mathbf{r}(t)),2 variation in pulse integral, whereas the ideal analytic field remains flat (Katsioulas et al., 2020).

Taken together, these studies show that Garfield++ is most reliable when used with detector-specific field maps, gas-specific transport data, and complete microscopic physics for the regime of interest. The recurrent limitations are not generic inaccuracies of the transport engine so much as omissions in the surrounding model: missing Penning transfer, absent dynamic space-charge feedback, insufficiently resolved field maps, or incomplete coupling to upstream interaction physics.

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Garfield++.