1 #ifndef __JAANET__JEVTWEIGHTFACTORPRODUCT__ 
    2 #define __JAANET__JEVTWEIGHTFACTORPRODUCT__ 
   20 #include "JAAnet/JEvtWeightFactorDictionary.hh" 
   53     public JClonable<JEvtWeightFactor, JEvtWeightFactorProduct>
 
   94     template<
class ...Args>
 
   97                             const Args&                ...
args) :
 
  123     template<
class ...Args>
 
  125                             const Args&                ...
args) :
 
  142         this->insert(this->end(), p->begin(), p->end());
 
  155     template<
class ...Args>
 
  172       this->insert(this->end(), product.begin(), product.end());
 
  191         factor *= i->getFactor(evt);
 
  205       for (const_iterator i = this->cbegin(); i != this->cend(); ++i) {
 
  206         if (!(i->is_valid())) { 
return false; }
 
  243     std::istream& 
read(std::istream& in) 
override final 
  248       static const JEvtWeightFactorDictionary dictionary(
oscProb);      
 
  260         istringstream iss(token);
 
  262         if (!(iss >> factorID)) { 
continue; }
 
  283     std::ostream& 
write(std::ostream& out) 
const override final 
  306       template<
class JEvtWeightFactorProduct_t>
 
  318         for (
typename JEvtWeightFactorProduct_t::const_iterator i = product.cbegin(); i != product.cend(); ++i) {
 
  320           const int index = 1 + 
distance(product.cbegin(), i);
 
I/O formatting auxiliaries.
 
#define MAKE_STRING(A)
Make string.
 
Utility class to parse parameter values.
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
 
Utility class to parse parameter values.
 
Simple data structure to support I/O of equations (see class JLANG::JEquation).
 
Wrapper class around STL stringstream class to facilitate optional loading of data from file.
 
void load()
Load data from file with name corresponding to current contents.
 
Wrapper class around string.
 
Extensions to Evt data format.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
static JStat getFileStatus
Function object for file status.
 
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
 
Helper class for event-weight factor.
 
JEvtWeightFactor & getFactor() const
Get reference to event-weight factor.
 
Auxiliary class for I/O of product of event-weight factors.
 
JEvtWeightFactorProductHelper(JEvtWeightFactorProduct_t &product, const JEquationParameters &eqpars)
Constructor.
 
Class for product of event-weight factors.
 
void push_back(const JEvtWeightFactorHelper &factor)
Put event-weight factor.
 
JEvtWeightFactorProduct(const JOscProbHelper &oscProb, const JEvtWeightFactorHelper &factor, const Args &...args)
Constructor.
 
JEvtWeightFactorProduct & join(const JEvtWeightFactorProduct &product)
Join this product of event-weight factors with a given product of event-weight factors.
 
JEvtWeightFactorProduct()
Default constructor.
 
JEvtWeightFactorProduct(const JEvtWeightFactorHelper &factor)
Constructor.
 
JEvtWeightFactorProduct(const JOscProbHelper &oscProb)
Constructor.
 
bool is_valid() const override final
Check whether this event-weight factor is valid.
 
JProperties getProperties(const JEquationParameters &eqpars=JEvtWeightFactor::getEquationParameters()) const override final
Get properties of this class.
 
JEvtWeightFactorProduct(const JOscProbHelper &oscProb, const JEvtWeightFactorHelper &factor)
Constructor.
 
JProperties getProperties(const JEquationParameters &eqpars=JEvtWeightFactor::getEquationParameters()) override final
Get properties of this class.
 
std::ostream & write(std::ostream &out) const override final
Write event-weight factor to output.
 
std::istream & read(std::istream &in) override final
Read event-weight factor product from stream.
 
JOscProbHelper oscProb
Oscillation probability calculator.
 
double getFactor(const Evt &evt) const override final
Get multiplication factor of given event.
 
JEvtWeightFactorProduct(const JEvtWeightFactorHelper &factor, const Args &...args)
Constructor.
 
void push_back(const JEvtWeightFactorHelper &factor, const Args &...args)
Put event-weight factor.
 
Abstract base class for specifiable event-weight factors.
 
static JEquationParameters & getEquationParameters()
Get equation parameters.
 
static const char *const getTypeKey()
Get type keyword.
 
Template class for object cloning.
 
Helper class for oscillation probabilities.