55 ChannelMap::iterator it_map = fDissociationChannels.begin();
57 for (; it_map != fDissociationChannels.end(); it_map++)
59 vector<const G4MolecularDissociationChannel*>& decayChannels = it_map
61 if (!decayChannels.empty())
63 for (
int i = 0; i < (int) decayChannels.size(); i++)
67 delete decayChannels[i];
71 decayChannels.clear();
74 fDissociationChannels.clear();
90 if(
this == &right)
return *
this;
91 fDissociationChannels = right.fDissociationChannels;
97const vector<const G4MolecularDissociationChannel*>*
101 ChannelMap::const_iterator it_exstates = fDissociationChannels.find(conf);
102 if (it_exstates == fDissociationChannels.end())
return 0;
103 return &(it_exstates->second);
108const vector<const G4MolecularDissociationChannel*>*
111 for(ChannelMap::const_iterator it = fDissociationChannels.begin() ;
112 it!=fDissociationChannels.end() ; ++it
115 if(it->first->GetLabel() == exState)
return &(it->second);
135 fDissociationChannels[molConf].push_back(channel);
142 ChannelMap::const_iterator channelsIter;
144 for(channelsIter = fDissociationChannels.begin();
145 channelsIter != fDissociationChannels.end(); ++channelsIter)
148 const vector<const G4MolecularDissociationChannel*>& decayVect =
149 channelsIter->second;
154 for(
size_t i = 0; i < max; i++)
157 const G4double prob = decay->GetProbability();
164 errMsg <<
"The probabilities for deecitation of molecular configuration "
165 << channelsIter->first->GetName()
166 <<
" with label :" << channelsIter->first->GetLabel()
167 <<
" don't sum up to 1";
168 G4Exception(
"G4MolecularDissociationTable::CheckDataConsistency",
169 "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)