53 auto it_map = fDissociationChannels.begin();
55 for (; it_map != fDissociationChannels.end(); it_map++)
57 vector<const G4MolecularDissociationChannel*>& decayChannels = it_map
59 if (!decayChannels.empty())
61 for (
auto & decayChannel : decayChannels)
63 if (decayChannel !=
nullptr)
66 decayChannel =
nullptr;
69 decayChannels.clear();
72 fDissociationChannels.clear();
88 if(
this == &right)
return *
this;
89 fDissociationChannels = right.fDissociationChannels;
95const vector<const G4MolecularDissociationChannel*>*
99 auto it_exstates = fDissociationChannels.find(conf);
100 if (it_exstates == fDissociationChannels.end())
return nullptr;
101 return &(it_exstates->second);
106const vector<const G4MolecularDissociationChannel*>*
109 for(
const auto & fDissociationChannel : fDissociationChannels)
111 if(fDissociationChannel.first->GetLabel() == exState)
return &(fDissociationChannel.second);
131 fDissociationChannels[molConf].push_back(channel);
138 ChannelMap::const_iterator channelsIter;
140 for(channelsIter = fDissociationChannels.begin();
141 channelsIter != fDissociationChannels.end(); ++channelsIter)
144 const vector<const G4MolecularDissociationChannel*>& decayVect =
145 channelsIter->second;
150 for(
size_t i = 0; i < max; i++)
153 const G4double prob = decay->GetProbability();
160 errMsg <<
"The probabilities for deecitation of molecular configuration "
161 << channelsIter->first->GetName()
162 <<
" with label :" << channelsIter->first->GetLabel()
163 <<
" don't sum up to 1";
164 G4Exception(
"G4MolecularDissociationTable::CheckDataConsistency",
165 "BRANCHING_RATIOS_CONSISTENCY",
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
void Serialize(std::ostream &)
~G4MolecularDissociationTable()
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannels(const G4MolecularConfiguration *) const
G4MolecularDissociationTable()
G4MolecularDissociationTable & operator=(const G4MolecularDissociationTable &right)
void CheckDataConsistency() const
void AddChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)