35 for ( i = 0; i < dau.size(); i++ )
46 for ( i = 0; i < other._dau.size(); i++ )
50 s.append( other._dau[i] );
64 i =
s.find_first_not_of(
" " );
65 j =
s.find_first_of(
" ", i );
67 if ( i == string::npos )
70 report(
INFO,
"EvtGen" ) <<
"No non-space character found" << endl;
74 if ( j == string::npos )
77 report(
INFO,
"EvtGen" ) <<
"No space before -> found" << endl;
81 _mother = string(
s, i, j - i );
83 i =
s.find_first_not_of(
" ", j );
84 j =
s.find_first_of(
"->", j );
88 report(
INFO,
"EvtGen" ) <<
"Multiple mothers?" << i <<
"," << j << endl;
96 i =
s.find_first_not_of(
" ", j );
97 j =
s.find_first_of(
" ", i );
99 if ( i == string::npos )
break;
100 if ( j == string::npos )
102 _dau.push_back(
string(
s, i,
s.size() - i + 1 ) );
105 else { _dau.push_back(
string(
s, i, j - i ) ); }
116 assert( 0 <= i && i < (
int)_dau.size() );
117 return _dau[i].c_str();
121 string ret = _mother + string(
" -> " );
123 for ( i = 0; i < _dau.size() - 1; i++ ) ret +=
string( _dau[i] ) + string(
" " );
124 ret += _dau[_dau.size() - 1];
129 os << _mother.c_str() <<
" ->";
131 for ( i = 0; i < _dau.size(); i++ ) os <<
" " << _dau[i].c_str();
137 s.append(
dau( first( i ) ) );
139 s.append(
dau( second( i ) ) );
146 s.append(
dau( first( i ) ) );
148 s.append(
dau( second( i ) ) );
ostream & operator<<(ostream &os, const EvtDecayMode &mode)
ostream & report(Severity severity, const char *facility)
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
const char * dal(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const
const char * mother() const
const char * mode() const
EvtDecayMode(const char *decay)
const char * dau(int i) const
const char * q(EvtCyclic3::Pair i) const
std::ostream & print(std::ostream &) const
const char * m(EvtCyclic3::Pair i) const