I’ve been using Garfield++ for RPC simulations. When I directly run the RPC example, it executes quickly and produces results. However, after changing the plane readout (RPC->AddPlane(label)) in the example to a strip readout (RPC->AddStrips(label)), the runtime becomes extremely slow – even when I configure only a single readout strip.
Could you help me understand why this happens and suggest solutions to resolve it?
Yes, that is correct. Unfortunately, a side effect of the weighting potential for a strip in this geometry is that it results in a non-closed solution and requires evaluating an integral for every weighting potential call.
One way to address this is to use the ComponentGrid class to save the weighting potential to a text file. This allows you to compute it only once and import the result for every subsequent run, which can significantly improve the runtime.