21#include <TLorentzVector.h>
27#include "Framework/EventGen/GFluxI.h"
28#include "Framework/ParticleData/PDGCodeList.h"
29#include "Tools/Flux/GFluxExposureI.h"
37 public ::genie::flux::GFluxExposureI {
45 explicit FluxDriver(std::string
const& path,
bool cycle =
false);
53 double Weight()
override {
return weight_; }
54 TLorentzVector
const&
Momentum()
override {
return p4_; }
55 TLorentzVector
const&
Position()
override {
return x4_; }
56 bool End()
override {
return end_; }
57 long int Index()
override {
return index_; }
58 void Clear(Option_t* opt)
override;
69 double pot()
const {
return pot_; }
70 std::uint64_t
entries()
const {
return n_entries_; }
84 std::unique_ptr<Reader> reader_;
88 bool gen_weighted_ =
true;
92 double max_energy_ = 0.0;
93 std::uint64_t n_entries_ = 0;
94 double total_weight_ = 0.0;
103 long int n_used_ = 0;
104 double used_weight_ = 0.0;
106 ::genie::PDGCodeList pdg_list_;
107 bool pdg_list_built_ =
false;
Definition flux_driver.hpp:37
Ray peek_first_ray()
Definition flux_driver.cpp:179
double MaxEnergy() override
Definition flux_driver.hpp:50
void Clear(Option_t *opt) override
Definition flux_driver.cpp:192
int PdgCode() override
Definition flux_driver.hpp:52
TLorentzVector const & Position() override
Definition flux_driver.hpp:55
void GenerateWeighted(bool gen_weighted) override
Definition flux_driver.cpp:203
double pot() const
Definition flux_driver.hpp:69
bool End() override
Definition flux_driver.hpp:56
long int NFluxNeutrinos() const override
Definition flux_driver.hpp:66
::genie::PDGCodeList const & FluxParticles() override
Definition flux_driver.cpp:126
std::uint64_t entries() const
Definition flux_driver.hpp:70
double GetTotalExposure() const override
Definition flux_driver.cpp:212
TLorentzVector const & Momentum() override
Definition flux_driver.hpp:54
double Weight() override
Definition flux_driver.hpp:53
bool GenerateNext() override
Definition flux_driver.cpp:151
long int Index() override
Definition flux_driver.hpp:57
Definition flux_driver.cpp:15
Definition flux_driver.hpp:75
TLorentzVector momentum
Definition flux_driver.hpp:78
int pdg
Definition flux_driver.hpp:76
TLorentzVector position
Definition flux_driver.hpp:77
Definition flux_driver.cpp:33