1 #ifndef __JSUPPORT_JWEIGHTFILESCANNERSET__
2 #define __JSUPPORT_JWEIGHTFILESCANNERSET__
32 template<
class JFileScanner_t = JMultipleFileScanner<Evt>,
33 class JComparator_t = std::less<JHead> >
73 for (JMultipleFileScanner_t::const_iterator i = input.begin(); i != input.end(); ++i) {
84 void put(
const std::string& input)
91 iterator p = lower_bound(this->begin(), this->end(), head,
94 if (p == this->end()) {
111 if (p->match(head,
false)) {
116 THROW(
JValueOutOfRange,
"JWeightFileScannerSet::get(): No corresponding scanner found for given header.");
127 for (
iterator p = this->begin(); p != this->end(); ++p) {
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
JWeightFileScanner< JFileScanner_t > value_type
const JHead & getHeader() const
Get header.
JWeightFileScannerSet(JMultipleFileScanner_t &input, JLimit &limit=JLimit())
Constructor.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
std::vector< value_type >::const_iterator const_iterator
Auxiliary class for organising Monte Carlo file scanners.
std::vector< value_type >::iterator iterator
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
Auxiliary class for defining the range of iterations of objects.
Template file scanner with event weight.
std::vector< value_type >::reverse_iterator reverse_iterator
JEventWeighter getEventWeighter
Function object for mapping header to event weighter.
JComparator_t compare
Function object for comparison of headers.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Auxiliary base class for list of file names.
Exception for accessing a value in a collection that is outside of its range.
JWeightFileScannerSet()
Default constructor.
void setLimit(const JLimit &limit)
Set limit.
std::vector< value_type >::const_reverse_iterator const_reverse_iterator
void put(const std::string &input)
Put file.
void put(JMultipleFileScanner_t &input)
Put file.