Jpp  18.3.0-rc.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
JAANET::JDiffuseFlux Struct Reference

Low-level interface for diffuse fluxes. More...

#include <JDiffuseFlux.hh>

Inheritance diagram for JAANET::JDiffuseFlux:
JAANET::JFlux JAANET::JEvtWeightFactor JLANG::JClonable< JClonable_t, JDerived_t >

Public Types

typedef JClonable< JClonable_t >
::clone_type 
clone_type
 

Public Member Functions

virtual ~JDiffuseFlux ()
 Virtual destructor. More...
 
double getFactor (const Evt &evt) const override
 Get event-weight factor for given event. More...
 
double getFactor (const int type, const double log10E, const double costh) const
 Get event-weight factor for given particle PDG-identifier, energy and zenith-angle. More...
 
double getFlux (const int type, const double log10E, const double costh) const
 Get event-weight factor for given particle PDG-identifier, energy and zenith-angle. More...
 
virtual void Print () const override
 Print flux information. More...
 
virtual double getFlux (const Evt &evt) const
 Get flux of given event. More...
 
virtual clone_type clone () const override
 Get clone of this object. More...
 

Detailed Description

Low-level interface for diffuse fluxes.

Definition at line 27 of file JDiffuseFlux.hh.

Member Typedef Documentation

template<class JClonable_t, class JDerived_t = JNullType>
typedef JClonable<JClonable_t>::clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone_type
inherited

Definition at line 61 of file JClonable.hh.

Constructor & Destructor Documentation

virtual JAANET::JDiffuseFlux::~JDiffuseFlux ( )
inlinevirtual

Virtual destructor.

Definition at line 34 of file JDiffuseFlux.hh.

35  {}

Member Function Documentation

double JAANET::JDiffuseFlux::getFactor ( const Evt evt) const
inlineoverridevirtual

Get event-weight factor for given event.

Parameters
evtevent
Returns
event-weight factor [GeV^-1 * m^-2 * sr^-1 * s^-1]

Implements JAANET::JEvtWeightFactor.

Definition at line 44 of file JDiffuseFlux.hh.

45  {
46  const Trk& neutrino = get_neutrino(evt);
47  const double log10E = log10(neutrino.E);
48  const double costh = neutrino.dir.z / neutrino.dir.len();
49 
50  return dNdEdOmega(neutrino.type, log10E, costh);
51  }
double z
Definition: Vec.hh:14
Vec dir
track direction
Definition: Trk.hh:18
double E
Energy [GeV] (either MC truth or reconstructed)
Definition: Trk.hh:20
double len() const
Get length.
Definition: Vec.hh:145
set_variable E_E log10(E_{fit}/E_{#mu})"
int type
MC: particle type in PDG encoding.
Definition: Trk.hh:24
const Trk & get_neutrino(const Evt &evt)
Get incoming neutrino.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
Definition: Trk.hh:14
double JAANET::JDiffuseFlux::getFactor ( const int  type,
const double  log10E,
const double  costh 
) const
inline

Get event-weight factor for given particle PDG-identifier, energy and zenith-angle.

Parameters
typePDG particle type
log10Elogarithmic neutrino energy [GeV]
costhcosine zenith angle
Returns
diffuse flux [GeV^-1 * m^-2 * sr^-1 * s^-1]

Definition at line 62 of file JDiffuseFlux.hh.

65  {
66  return dNdEdOmega(type, log10E, costh);
67  }
double JAANET::JDiffuseFlux::getFlux ( const int  type,
const double  log10E,
const double  costh 
) const
inline

Get event-weight factor for given particle PDG-identifier, energy and zenith-angle.

Parameters
typePDG particle type
log10Elogarithmic neutrino energy [GeV]
costhcosine zenith angle
Returns
diffuse flux [GeV^-1 * m^-2 * sr^-1 * s^-1]

Definition at line 78 of file JDiffuseFlux.hh.

81  {
82  return dNdEdOmega(type, log10E, costh);
83  }
virtual void JAANET::JDiffuseFlux::Print ( ) const
inlineoverridevirtual

Print flux information.

Definition at line 89 of file JDiffuseFlux.hh.

90  {
91  prnt(std::cout);
92  }
virtual double JAANET::JFlux::getFlux ( const Evt evt) const
inlinevirtualinherited

Get flux of given event.

Parameters
evtevent
Returns
flux [GeV^-1 * m^-2 * sr^-1 * s^-1]

Definition at line 37 of file JFlux.hh.

38  {
39  return getFactor(evt);
40  }
virtual double getFactor(const Evt &evt) const =0
Get multiplication factor of given event.
template<class JClonable_t, class JDerived_t = JNullType>
virtual clone_type JLANG::JClonable< JClonable_t, JDerived_t >::clone ( ) const
inlineoverridevirtualinherited

The documentation for this struct was generated from the following file: