I am developing some code for the DD4hep software, I am using Geant4 version 10.7 and I am generating MC events with Pythia8.3 Angantyr model.
I am trying to access particle definition objects of excited ions from the pdgID in this way,
int id = particle->pdgID; // is 10 L ZZZ AAA I int L, A, Z, lvl; id -= 1000000000; L = id / 10000000; id %= 10000000; Z = id / 10000; id %= 10000; A = id / 10; id %= 10; lvl = id; G4double E = 0.0; G4IonTable* tab_ion = G4IonTable::GetIonTable(); G4ParticleDefinition* def_ion = tab_ion->FindIon(Z, A, lvl);
FindIon method returns a null pointer for some of these states. For example, for pdg ID equal to 1000691759 and 1000711809. What is the reason for this?
Does this state have a defined excitation energy?
What does it mean the warning message: “Isomer level 9 may be ambiguous”?
I would like to specify that not all the ions with isomer level equal to 9 are null pointers.
Here an example of some printouts to get pdgID, pointer and excitation energy (using the method
It works for this case:
Creating ion 1000230499 Found ion 0x15fd1140 GetIsomerLevel, 9, excitation energy E=0.152928
But not for this one:
Creating ion 1000711809 Found Ion ? 0
Thanks for your support.