# Possible reactant/input-order dependence in Geant4-DNA IRT-sync — clarification requested

**URL:** <https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373>\
**Category:** Physics Processes, Models and Cross Sections\
**Created:** [September 21, 2026, 7:02am UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373 "2026-09-21T07:02:53Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/letter_avatar_proxy/v4/letter/m/ecd19e/32.png) [@Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/u/Mehmet_Karabuga)\
**Post date:** [September 21, 2026, 7:02am UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373/1 "2026-09-21T07:02:53Z")

</div>

* * *

Geant4 version: 11.4.2  
Chemistry model: IRT\_syn  
Platform: macOS 12.7.6, Intel x86\_64

Hello Geant4-DNA developers,

We are investigating reactant-order invariance in the Geant4-DNA IRT-sync chemistry model.

As a baseline control, the unmodified official UHDR example configured with IRT\_syn successfully reaches the genuine scheduler path, including:

G4ITModelProcessor::CalculateMinTimeStep  
G4DNAIndependentReactionTimeStepper::CalculateStep

We then constructed a minimal scheduler-managed bimolecular test using supported Geant4-DNA molecular-track handoff paths.

The validation considers two independent ordering factors:

1. Reactant input order:  
A then B  
versus  
B then A

2. Reaction-registration order:  
A+B  
versus  
B+A

The four combinations were therefore:

- AB input / AB registration
- BA input / AB registration
- AB input / BA registration
- BA input / BA registration

Before the confirmatory run, we validated that true reactant-order reversal was actually occurring while preserving the same scheduler lifecycle, geometry, molecular identities, diffusion parameters, and reaction configuration.

A corrected 2×2 factorial validation was then run using predefined criteria and new independent random-seed blocks.

Multiple ordering-dependent effects were observed in the confirmatory analysis.

However, subsequent diagnostics have not been able to determine whether these observations arise from:

- changes in RNG consumption caused by reactant ordering,
- reactant-input implementation asymmetry,
- reaction-registration asymmetry,
- or a genuine ensemble/distribution-level ordering dependence inside IRT-sync.

Therefore, at this stage we are NOT asserting that this represents an implementation defect in IRT-sync.

The observation is also separate from an ordinary-IRT ordering issue that we investigated independently; we are not assuming that the same mechanism applies to IRT-sync.

Questions for Geant4-DNA / IRT-sync developers:

1. Is reactant input order expected to alter any IRT-sync ensemble-level or distributional output?

2. Is reaction-registration order (A+B versus B+A) expected to alter any IRT-sync distributional output?

3. Can reversing reactant or reaction-registration order change the random-number consumption sequence while preserving the underlying ensemble distributions?

4. Are there known reactant-identity or ordering assumptions inside  
G4DNAIndependentReactionTimeStepper  
or its associated diffusion-controlled reaction model?

5. Is there an official or recommended regression test for verifying reactant-order and reaction-registration-order invariance in IRT-sync?

We would appreciate clarification on the intended ordering behaviour of IRT-sync and on the recommended diagnostic/regression-testing procedure.

We have a minimal NanoRT-independent reproducer, build/run instructions, preserved logs, and checksums available if they would be useful.

Thank you.

---

<div class="post-metadata">

**Author:** ![ngoc](https://geant4-forum.web.cern.ch/user_avatar/geant4-forum.web.cern.ch/ngoc/32/5329_2.png) [@ngoc](https://geant4-forum.web.cern.ch/u/ngoc)\
**Post date:** [September 26, 2026, 8:06pm UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373/2 "2026-09-26T20:06:37Z")

</div>

Dear,

Thanks for your report! Can you try the chem6 example (examples/extended/medical/dna/chem6)? In the macro file beam.in. You can choose the IRT-syn and one reaction, for example: e\_aq + H → H2 + OHm

Could you also change the order of the reactants and check whether this affects the results?

---

<div class="post-metadata">

**Author:** ![Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/letter_avatar_proxy/v4/letter/m/ecd19e/32.png) [@Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/u/Mehmet_Karabuga)\
**Post date:** [September 27, 2026, 3:52am UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373/3 "2026-09-27T03:52:38Z")

</div>

Dear,

Thank you very much for the guidance.

Yes, we will repeat the test using the official chem6 example with IRT-syn and the reaction:

e\_aq + H → H2 + OHm

We will then reverse only the reactant order:

H + e\_aq → H2 + OHm

while keeping all other settings unchanged, and compare the results.

We will report the outcome here.

Thank you again for your help.

Best regards,  
Mehmet Karabuga

---

<div class="post-metadata">

**Author:** ![Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/letter_avatar_proxy/v4/letter/m/ecd19e/32.png) [@Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/u/Mehmet_Karabuga)\
**Post date:** [September 27, 2026, 4:49am UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373/4 "2026-09-27T04:49:27Z")

</div>

Dear,

Thank you for the suggestion.

We repeated the test using the official Geant4 11.4.2 chem6 example with IRT-syn and the reaction:

e\_aq + H → H2 + OHm

We then reversed only the stored reactant order:

H + e\_aq → H2 + OHm

while keeping all other settings identical.

We first performed a pilot test and then a reproducibility study with 20 independent matched seed pairs. Within each pair, A and B used exactly the same random seeds.

For all 20 matched pairs:

- Species.txt was identical.
- Retained scorer-event counts were identical.
- Target-reaction counts were identical.
- Total reaction counts were identical.
- All reported G-values were identical.
- ROOT ntuple payloads were identical.
- The only ROOT file differences were two metadata bytes associated with timestamps.

Therefore, under this official chem6 + IRT-syn configuration, reversing the reactant order produced no detectable physical or scoring difference.

This suggests that the order-dependent effects we previously observed in our minimal custom test are likely related to some other aspect of that test configuration rather than the official chem6 IRT-syn reaction itself.

Would you recommend any additional official IRT-syn test, or a specific code path we should inspect next to understand why our custom minimal test showed ordering-dependent behaviour?

Thank you again for your guidance.

Best regards,  
Mehmet Karabuga

---

<div class="post-metadata">

**Author:** ![ngoc](https://geant4-forum.web.cern.ch/user_avatar/geant4-forum.web.cern.ch/ngoc/32/5329_2.png) [@ngoc](https://geant4-forum.web.cern.ch/u/ngoc)\
**Post date:** [September 28, 2026, 8:08am UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373/5 "2026-09-28T08:08:17Z")

</div>

Thanks for your test! The chemical reactions should be added in the reaction table : G4DNAMolecularReactionTable

Please check if your reaction list is fully added in the G4DNAMolecularReactionTable ?

Best regards,

---

<div class="post-metadata">

**Author:** ![Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/letter_avatar_proxy/v4/letter/m/ecd19e/32.png) [@Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/u/Mehmet_Karabuga)\
**Post date:** [September 29, 2026, 5:30am UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373/6 "2026-09-29T05:30:15Z")

</div>

Dear,

Thank you. I checked `G4DNAMolecularReactionTable` explicitly in a clean Geant4 11.4.2 build.

For this minimal reproducer, the complete reaction list intentionally consists of a single synthetic channel:

`e_aq + H3O+ -> H`

The table is reset and this channel is added through `G4DNAMolecularReactionTable`. I then queried the table at runtime in both reactant orders.

`GetReactionData(A,B)` and `GetReactionData(B,A)` both resolve to the same `G4DNAMolecularReactionData` object.

I also repeated the test as a 2×2 factorial check:

- reaction registration: A+B or B+A

- reactant input: A+B or B+A

Five independent seeds were tested, giving 20 runs in total.

In all 20 runs, the A+B/B+A reaction-table lookup was symmetric. For each fixed seed, all four registration/input-order combinations also produced the same H product, the same final chemical outcome, and the same product position.

Therefore, in this clean minimal reproducer, the intended reaction is present in `G4DNAMolecularReactionTable`, and I am currently unable to reproduce the ordering-dependent behaviour that I observed in the earlier custom diagnostic.

I also identified a provenance inconsistency in my earlier diagnostic package. Therefore, I do not want to attribute that earlier observation to Geant4 until its origin is understood.

I have preserved the clean reproducer, the 20-run results, build information, and SHA-256 checksums and can upload the reproducibility package if it would be useful.

Would you recommend checking another part of the custom chemistry setup next, or should I now compare this reproducer directly against the reaction-table construction used by the official `chem6` IRT-syn configuration?

Thank you again for your guidance.

Best regards,  
Mehmet Karabuga

---

<div class="post-metadata">

**Author:** ![Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/letter_avatar_proxy/v4/letter/m/ecd19e/32.png) [@Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/u/Mehmet_Karabuga)\
**Post date:** [October 14, 2026, 9:34pm UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373/7 "2026-10-14T21:34:22Z")

</div>

Dear,

Thank you. I checked `G4DNAMolecularReactionTable`explicitly in a clean Geant4 11.4.2 build.

For this minimal reproducer, the complete reaction list intentionally consists of a single synthetic channel:

`e_aq + H3O+ -> H`

The table is reset and this channel is added through `G4DNAMolecularReactionTable`. I then queried the table at runtime in both reactant orders.

`GetReactionData(A,B)` and `GetReactionData(B,A)`both resolve to the same `G4DNAMolecularReactionData`object.

I also repeated the test as a 2×2 factorial check:

- reaction registration: A+B or B+A

- reactant input: A+B or B+A

Five independent seeds were tested, giving 20 runs in total.

In all 20 runs, the A+B/B+A reaction-table lookup was symmetric. For each fixed seed, all four registration/input-order combinations also produced the same H product, the same final chemical outcome, and the same product position.

Therefore, in this clean minimal reproducer, the intended reaction is present in `G4DNAMolecularReactionTable`, and I am currently unable to reproduce the ordering-dependent behaviour that I observed in the earlier custom diagnostic.

I also identified a provenance inconsistency in my earlier diagnostic package. Therefore, I do not want to attribute that earlier observation to Geant4 until its origin is understood.

I have preserved the clean reproducer, the 20-run results, build information, and SHA-256 checksums and can upload the reproducibility package if it would be useful.

Would you recommend checking another part of the custom chemistry setup next, or should I now compare this reproducer directly against the reaction-table construction used by the official `chem6` IRT-syn configuration?

Thank you again for your guidance.

Best regards,  
Mehmet Karabuga

---

<div class="post-metadata">

**Author:** ![Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/letter_avatar_proxy/v4/letter/m/ecd19e/32.png) [@Mehmet\_Karabuga](https://geant4-forum.web.cern.ch/u/Mehmet_Karabuga)\
**Post date:** [October 19, 2026, 7:56am UTC](https://geant4-forum.web.cern.ch/t/possible-reactant-input-order-dependence-in-geant4-dna-irt-sync-clarification-requested/15373/8 "2026-10-19T07:56:30Z")

</div>

Dear,

Just a brief follow-up regarding my previous post.

I would be grateful for any guidance on the next diagnostic step, particularly whether you recommend comparing the reaction-table construction of our minimal reproducer with the official chem6 IRT-syn configuration, or inspecting another part of the IRT-syn chemistry path.

Thank you again for your time and help.

Best regards,  
Mehmet Karabuga
