TODO (short-term):
> assert np.isclose(E0*alive_before, Edead + Eacc + Evirtual + Emassless + Eout, atol=100*tol, rtol=tol)
E assert np.False_
E + where np.False_ = <function isclose at 0x1118bd430>((np.float64(557600033653993.8) * np.int64(100)), ((((LinkedArrayCpu(5.55454199e+16) + np.float64(0.0)) + LinkedArrayCpu(0.)) + LinkedArrayCpu(0.)) + LinkedArrayCpu(0.)), atol=(100 * 1e-12), rtol=1e-12)
E + where <function isclose at 0x1118bd430> = np.isclose
TODO (long-term):
Ideas:
TODO (short-term):
_accumulated_ion_lossnot be a collimator property, but use a dedicated particle state (one particle per collimator representing this)?sposition is shifted 250um. Is this valid? Double-check, and verify downstreamspositionGeant4CrystalGeant4BlockMaterialTODO (long-term):
Ideas: