42 using namespace G4DNA;
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;
97 const 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);
108 const 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++)
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",