While trying to extend the Hadr00 example to output cross section values for single isotopes in the HistoManager, I found that G4HadronicProcessStore always outputs 0 for isotopic cross sections (independent of elastic/inelastic or differing isotopes). While looking for a reason, I found that this is actually implemented directly in the code (snippet from G4HadronicProcessStore.cc): G4double G4HadronicProcessStore::GetElasticCrossSectionPerIsotope( const G4ParticleDefinition*, G4double, G4int, G4int) { return 0.0; } All three Get__CrossSectionPerIsotope in the file have the same code. It is unclear to me if this could be considered a bug. However I found it not useful that methods with the name "Get...." were defined that always returned 0.
Ever since the G4hadronicProcessStore class was introduced, the method GetElasticCrossSectionPerIsotope() has returned 0. The method was added by the developer with the intention to implement it one day, but there has never been a need. So it's not really a bug, but some message should be added to let users know what it is doing. I'll ask the developer to add such a message.