1 #ifndef __JSUPPORT_JWEIGHTFILESCANNERSET__ 
    2 #define __JSUPPORT_JWEIGHTFILESCANNERSET__ 
   40   template<
class JFileScanner_t = JMultipleFileScanner<Evt>,
 
   41            class JComparator_t  = std::less<JHead> >
 
   81       for (JMultipleFileScanner_t::const_iterator i = input.begin(); i != input.end(); ++i) {
 
   92     void put(
const std::string& input)
 
   99       iterator i = lower_bound(this->begin(),  this->end(),  head,
 
  102       if (i == this->end() || !i->getHeader().match(head)) {
 
  119         if (i->match(head)) {
 
  124       THROW(
JValueOutOfRange, 
"JWeightFileScannerSet::get(): No corresponding scanner found for given header.");
 
  139                    const JFlux& 
function)
 
  146       for (
iterator i = this->begin(); i != this->end(); ++i) {
 
  158           if (helper != NULL) {
 
  181                    const JFlux&         
function)
 
  188       for (
iterator i = this->begin(); i != this->end(); ++i) {
 
  190         bool matching = (!types.empty());
 
  200           matching = (flux != header.
flux.cend());
 
  207           if (helper != NULL) {
 
  235       for (
iterator i = this->begin(); i != this->end(); ++i) {
 
  237         bool matching = (!multiFlux.empty());
 
  241         for (JMultiParticleFlux::const_iterator 
j = multiFlux.cbegin(); 
j != multiFlux.cend() && matching; ++
j) {
 
  247           matching = (flux != header.
flux.cend());
 
  254           if (helper != NULL) {
 
  273       for (
iterator i = this->begin(); i != this->end(); ++i) {
 
Implementation of flux function for multiple particle types. 
 
JPredicate< JResult_t T::*, JComparison::eq > make_predicate(JResult_t T::*member, const JResult_t value)
Helper method to create predicate for data member. 
 
std::vector< JAANET::flux > flux
 
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
 
void configure(const JFlux &function)
Flux configuration. 
 
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. 
 
size_t setFlux(const int type, const JFlux &function)
Set flux function for all MC-files corresponding to a given PDG code. 
 
Helper class for event weighing. 
 
std::vector< value_type >::reverse_iterator reverse_iterator
 
JEventWeighter getEventWeighter
Function object for mapping header to event weighter. 
 
Low-level interface for retrieving flux corresponding to an event. 
 
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. 
 
size_t setFlux(const JMultiParticleFlux &multiFlux)
Set flux function of all MC-files corresponding to a given multi-particle flux. 
 
alias put_queue eval echo n
 
size_t setFlux(const std::set< int > &types, const JFlux &function)
Set flux function of all MC-files corresponding to a given set of PDG codes. 
 
Exception for accessing a value in a collection that is outside of its range. 
 
JWeightFileScannerSet()
Default constructor. 
 
const JWeightFileScanner< JFileScanner_t > & find(const JHead &head) const 
Find file scanner compatible with a given header. 
 
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.