43 using namespace G4DNA;
56 ChannelMap::iterator it_map = fDissociationChannels.begin();
58 for (; it_map != fDissociationChannels.end(); it_map++)
60 vector<const G4MolecularDissociationChannel*>& decayChannels = it_map
62 if (!decayChannels.empty())
64 for (
int i = 0; i < (
int) decayChannels.size(); i++)
68 delete decayChannels[i];
72 decayChannels.clear();
75 fDissociationChannels.clear();
91 if(
this == &right)
return *
this;
92 fDissociationChannels = right.fDissociationChannels;
98 const vector<const G4MolecularDissociationChannel*>*
102 ChannelMap::const_iterator it_exstates = fDissociationChannels.find(conf);
103 if (it_exstates == fDissociationChannels.end())
return 0;
104 return &(it_exstates->second);
109 const vector<const G4MolecularDissociationChannel*>*
112 for(ChannelMap::const_iterator it = fDissociationChannels.begin() ;
113 it!=fDissociationChannels.end() ; ++it
116 if(it->first->GetLabel() == exState)
return &(it->second);
136 fDissociationChannels[molConf].push_back(channel);
143 ChannelMap::const_iterator channelsIter;
145 for(channelsIter = fDissociationChannels.begin();
146 channelsIter != fDissociationChannels.end(); ++channelsIter)
149 const vector<const G4MolecularDissociationChannel*>& decayVect =
150 channelsIter->second;
155 for(
size_t i = 0; i <
max; i++)
165 errMsg <<
"The probabilities for deecitation of molecular configuration "
166 << channelsIter->first->GetName()
167 <<
" with label :" << channelsIter->first->GetLabel()
168 <<
" don't sum up to 1";
169 G4Exception(
"G4MolecularDissociationTable::CheckDataConsistency",
170 "BRANCHING_RATIOS_CONSISTENCY",
const std::vector< const G4MolecularDissociationChannel * > * GetDecayChannels(const G4MolecularConfiguration *) const
G4MolecularDissociationTable & operator=(const G4MolecularDissociationTable &right)
std::ostringstream G4ExceptionDescription
G4MolecularDissociationTable()
~G4MolecularDissociationTable()
void Serialize(std::ostream &)
ParticleList decay(Cluster *const c)
Carries out a cluster decay.
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
void AddChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
void CheckDataConsistency() const
G4double GetProbability() const