#include <GAstroFlux.h>
Definition at line 207 of file GAstroFlux.h.
genie::flux::GAstroFlux::NuPropagator::NuPropagator |
( |
double |
stepsz | ) |
|
|
inline |
genie::flux::GAstroFlux::NuPropagator::~NuPropagator |
( |
| ) |
|
|
inline |
bool GAstroFlux::NuPropagator::Go |
( |
double |
phi_start, |
|
|
double |
costheta_start, |
|
|
const TVector3 & |
detector_centre, |
|
|
double |
detector_sz, |
|
|
int |
nu_pdg, |
|
|
double |
Ev |
|
) |
| |
Definition at line 473 of file GAstroFlux.cxx.
References genie::units::km, genie::constants::kREarth, LOG, pWARN, genie::units::ys, and genie::units::zs.
483 double sintheta = TMath::Sqrt(1-costheta*costheta);
484 double cosphi = TMath::Cos(phi);
485 double sinphi = TMath::Sin(phi);
487 double zs = REarth * costheta;
488 double ys = REarth * sintheta * cosphi;
489 double xs = REarth * sintheta * sinphi;
491 TVector3 start_position(xs,ys,zs);
492 fX3 = start_position - detector_centre;
497 TVector3 direction_unit_vec = -1. *
fX3.Unit();
498 fP3 = Ev * direction_unit_vec;
505 LOG(
"Flux",
pWARN) <<
"|detsize| = " << detector_sz;
508 double currdist =
fX3.Mag();
509 if(currdist <= detector_sz - 0.1)
break;
511 double stepsz = (currdist-detector_sz >
fStepSize) ?
513 if(stepsz <= 0.)
break;
524 fX3 += (stepsz * direction_unit_vec);
static constexpr double km
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
static const double kREarth
static constexpr double zs
static constexpr double ys
int genie::flux::GAstroFlux::NuPropagator::NuPdgAtDetVolBoundary |
( |
void |
| ) |
|
|
inline |
TVector3& genie::flux::GAstroFlux::NuPropagator::P3AtDetVolBoundary |
( |
void |
| ) |
|
|
inline |
TVector3& genie::flux::GAstroFlux::NuPropagator::X3AtDetVolBoundary |
( |
void |
| ) |
|
|
inline |
int genie::flux::GAstroFlux::NuPropagator::fNuPdg |
|
private |
TVector3 genie::flux::GAstroFlux::NuPropagator::fP3 |
|
private |
double genie::flux::GAstroFlux::NuPropagator::fStepSize |
|
private |
TVector3 genie::flux::GAstroFlux::NuPropagator::fX3 |
|
private |
The documentation for this class was generated from the following files: