Jpp  18.3.0
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::JEvtWeightFactorHelper< JDiffuseFlux > Struct Template Reference

Explicit emplate specialization of event-weight factor helper for diffuse flux objects. More...

#include <JEvtWeightFactorHelper.hh>

Inheritance diagram for JAANET::JEvtWeightFactorHelper< JDiffuseFlux >:
JAANET::JOscFlux JAANET::JAtmosphericNeutrinoFlux

Public Types

typedef JEvtWeightFactorHelper
< JDiffuseFlux
JDiffuseFluxHelper_t
 
typedef std::shared_ptr
< JDiffuseFlux
pointer_type
 

Public Member Functions

 JEvtWeightFactorHelper ()
 Default constructor. More...
 
 JEvtWeightFactorHelper (const JDiffuseFlux &diffuseFlux)
 Constructor. More...
 
void configure (const JDiffuseFlux &diffuseFlux)
 Configure oscillation probability function. More...
 
JDiffuseFluxgetDiffuseFlux () const
 Get reference to diffuse flux factor. More...
 
double getFactor (const int type, const double log10E, const double costh) const
 Get diffuse flux corresponding to given neutrino type, energy and zenith angle. More...
 
double getFactor (const Evt &evt) const
 Get diffuse flux corresponding to given neutrino type, energy and zenith angle. More...
 

Detailed Description

template<>
struct JAANET::JEvtWeightFactorHelper< JDiffuseFlux >

Explicit emplate specialization of event-weight factor helper for diffuse flux objects.

Definition at line 109 of file JEvtWeightFactorHelper.hh.

Member Typedef Documentation

Definition at line 112 of file JEvtWeightFactorHelper.hh.

Definition at line 113 of file JEvtWeightFactorHelper.hh.

Constructor & Destructor Documentation

Default constructor.

Definition at line 119 of file JEvtWeightFactorHelper.hh.

120  {}

Constructor.

Parameters
diffuseFluxdiffuse flux function

Definition at line 128 of file JEvtWeightFactorHelper.hh.

129  {
130  configure(diffuseFlux);
131  }
void configure(const JDiffuseFlux &diffuseFlux)
Configure oscillation probability function.

Member Function Documentation

void JAANET::JEvtWeightFactorHelper< JDiffuseFlux >::configure ( const JDiffuseFlux diffuseFlux)
inline

Configure oscillation probability function.

Parameters
diffuseFluxdiffuse flux function

Definition at line 139 of file JEvtWeightFactorHelper.hh.

140  {
141  using namespace JPP;
142 
143  JDiffuseFlux* p = dynamic_cast<JDiffuseFlux*>(diffuseFlux.clone());
144 
145  if (p != NULL) {
146  reset(p);
147  } else {
148  THROW(JNullPointerException, "JDiffuseFluxHelper::configure(): Unable to retrieve diffuse flux interface.");
149  }
150  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
virtual clone_type clone() const override
Get clone of this object.
Definition: JClonable.hh:69
Low-level interface for diffuse fluxes.
Definition: JDiffuseFlux.hh:27
void reset(T &value)
Reset value.
JDiffuseFlux& JAANET::JEvtWeightFactorHelper< JDiffuseFlux >::getDiffuseFlux ( ) const
inline

Get reference to diffuse flux factor.

Returns
reference to diffuse flux factor

Definition at line 158 of file JEvtWeightFactorHelper.hh.

159  {
160  using namespace JPP;
161 
162  if (static_cast<const JDiffuseFluxHelper_t&>(*this)) {
163  return *(this->get());
164  } else {
165  THROW(JNullPointerException, "JDiffuseFluxHelper::getDiffuseFlux(): Diffuse flux factor is not set.");
166  }
167  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
double JAANET::JEvtWeightFactorHelper< JDiffuseFlux >::getFactor ( const int  type,
const double  log10E,
const double  costh 
) const
inline

Get diffuse flux corresponding to given neutrino type, 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 178 of file JEvtWeightFactorHelper.hh.

181  {
182  const JDiffuseFlux& diffuseFlux = getDiffuseFlux();
183 
184  return diffuseFlux.getFactor(type, log10E, costh);
185  }
double getFactor(const Evt &evt) const override
Get event-weight factor for given event.
Definition: JDiffuseFlux.hh:44
Low-level interface for diffuse fluxes.
Definition: JDiffuseFlux.hh:27
JDiffuseFlux & getDiffuseFlux() const
Get reference to diffuse flux factor.
double JAANET::JEvtWeightFactorHelper< JDiffuseFlux >::getFactor ( const Evt evt) const
inline

Get diffuse flux corresponding to given neutrino type, energy and zenith angle.

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

Definition at line 194 of file JEvtWeightFactorHelper.hh.

195  {
196  const JDiffuseFlux& diffuseFlux = getDiffuseFlux();
197 
198  return diffuseFlux.getFactor(evt);
199  }
double getFactor(const Evt &evt) const override
Get event-weight factor for given event.
Definition: JDiffuseFlux.hh:44
Low-level interface for diffuse fluxes.
Definition: JDiffuseFlux.hh:27
JDiffuseFlux & getDiffuseFlux() const
Get reference to diffuse flux factor.

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