51 G4VDecayChannelVector::iterator i;
52 for (i = channels->begin(); i!= channels->end(); ++i) {
64 G4cout <<
" G4DecayTable::Insert :: bad G4VDecayChannel (mismatch parent) "
70 G4VDecayChannelVector::iterator i;
71 for (i = channels->begin(); i!= channels->end(); ++i) {
72 if (r > (*i)->GetBR()) {
73 channels->insert(i,aChannel);
77 channels->push_back(aChannel);
84 if (channels->size()<1)
return 0;
86 if(parentMass<0.) parentMass=parent->
GetPDGMass();
87 const size_t MAX_LOOP = 10000;
88 for (
size_t loop_counter=0; loop_counter <MAX_LOOP; ++loop_counter){
92 G4VDecayChannelVector::iterator i;
93 for (i = channels->begin(); i!= channels->end(); ++i) {
94 sumBR += (*i)->GetBR();
95 if ( !((*i)->IsOKWithParentMass(parentMass)) )
continue;
96 if (r < sumBR)
return (*i);
106 G4VDecayChannelVector::iterator i;
107 for (i = channels->begin(); i!= channels->end(); ++i) {
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
G4VDecayChannel * SelectADecayChannel(G4double parentMass=-1.)
void Insert(G4VDecayChannel *aChannel)
G4double GetPDGMass() const
std::vector< G4VDecayChannel * > G4VDecayChannelVector
G4ParticleDefinition * GetParent()