1 #ifndef __JAANET__JEVTWEIGHTFACTORFUNCTION__ 
    2 #define __JAANET__JEVTWEIGHTFACTORFUNCTION__ 
    6 #include "flux/Flux.hh" 
   20 namespace JPP { 
using namespace JAANET; }
 
   33   template<
class JFunction_t,
 
   34            class JEvtWeightFactor_t>
 
   36     public JClonable<JEvtWeightFactor_t, JEvtWeightFactorFunction<JFunction_t,
 
   71   template<
class JDiffuseFluxFunction_t>
 
   73     public JClonable<JDiffuseFlux, JEvtWeightFactorFunction<JDiffuseFluxFunction_t,
 
   96                       double costh)
 const override 
   98       return function.dNdEdOmega(type, log10E, costh);
 
  103     JDiffuseFluxFunction_t 
function; 
 
  120   template<
class JEvtWeightFactor_t>
 
  122     public JClonable<JEvtWeightFactor_t, JEvtWeightFactorFunction<pEvtWeightFactor,
 
  123                                                                   JEvtWeightFactor_t> >
 
  143       return (*pFunction)(evt);
 
  161     public JClonable<JDiffuseFlux, JEvtWeightFactorFunction<pDiffuseFlux,
 
  183                       double costh)
 const override 
  185       return (*pFunction)(type, log10E, costh);
 
  201   template<
class JFunction_t, 
class JEvtWeightFactor_t = JEvtWeightFactor>
 
  213   template<
class JEvtWeightFactor_t = JEvtWeightFactor>
 
  225   template<
class JFunction_t>
 
  248   template<
class JFunction_t>
 
pDiffuseFlux pFunction
Pointer to diffuse flux function. 
 
double dNdEdOmega(int type, double log10E, double costh) const override
Get event-weight factor for given particle PDG-identifier, energy and zenith-angle. 
 
Implementation of C-style diffuse flux event-weight factor. 
 
JEvtWeightFactorFunction(const JDiffuseFluxFunction_t &function)
Constructor. 
 
Implementation of event-weight factor interface. 
 
JEvtWeightFactorFunction< JFunction_t, JFlux > make_fluxFunction(const JFunction_t &flux)
Auxiliary method for creating an interface to a flux function. 
 
double getFactor(const Evt &evt) const override
Get weight-factor for given event. 
 
JEvtWeightFactorFunction(pDiffuseFlux pFunction)
Constructor. 
 
JFunction_t function
event-weight factor object. 
 
JEvtWeightFactorFunction< JFunction_t, JEvtWeightFactor_t > make_weightFactor(const JFunction_t &function)
Auxiliary method for creating an interface to an event-weight factor. 
 
JEvtWeightFactorFunction< JFunction_t, JDiffuseFlux > make_diffuseFluxFunction(const JFunction_t &flux)
Auxiliary method for creating an interface to a diffuse flux function. 
 
pEvtWeightFactor pFlux
Type definition of flux function pointer. 
 
Template class for object cloning. 
 
Low-level interface for diffuse fluxes. 
 
JEvtWeightFactorFunction(pEvtWeightFactor pFunction)
Constructor. 
 
Implementation of C-style event-weight factor. 
 
JEvtWeightFactorFunction(const JFunction_t &function)
Constructor. 
 
double(* pDiffuseFlux)(int, double, double)
Type definition of pointer to diffuse flux function. 
 
double dNdEdOmega(int type, double log10E, double costh) const override
Get event-weight factor for given particle PDG-identifier, energy and zenith-angle. 
 
double getFactor(const Evt &evt) const override
Get weight-factor for given event. 
 
pEvtWeightFactor pFunction
Event-weight factor pointer. 
 
The Evt class respresent a Monte Carlo (MC) event as well as an offline event. 
 
double(* pEvtWeightFactor)(const Evt &)
Type definition of event-weight factor pointer.