23 if ( !
event() || !
event()->run_info() )
return 0;
28 double cross_section = xs;
29 double cross_section_error = xs_err;
33 if (
event() ) N = std::max(
event()->weights().size(), N);
40 const char *cursor = att.data();
45 double cross_section = atof(cursor);
48 if ( !(cursor = strchr(cursor+1,
' ')) )
return false;
49 double cross_section_error = atof(cursor);
60 if (
event() ) N = std::max(
event()->weights().size(), N);
61 const size_t max_n_cross_sections = 1000;
63 if ( !(cursor = strchr(cursor+1,
' ')) )
break;
65 if ( !(cursor = strchr(cursor+1,
' ')) )
break;
69 HEPMC3_WARNING(
"GenCrossSection::from_string: too many optional cross-sections N=" <<
cross_sections.size() <<
" or ill-formed input:" << att)
79 std::ostringstream os;
81 os << std::setprecision(8) << std::scientific
97 return ( memcmp( (
void*)
this, (
void*) &a,
sizeof(
class GenCrossSection) ) == 0 );
101 return !( a == *this );