1494 TRandom* old_gRandom = gRandom;
1502 bool viableInteraction =
true;
1509 #if __GENIE_RELEASE_CODE__ >= GRELCODE(2,11,0) 1510 genie::flux::GFluxExposureI* fexposure =
1511 dynamic_cast<genie::flux::GFluxExposureI*
>(
fFluxD);
1525 else if (
fFluxType.compare(
"simple")==0 ) {
1534 if ( ! viableInteraction )
return false;
1536 #if __GENIE_RELEASE_CODE__ >= GRELCODE(2,11,0) 1569 if(
fFluxType.compare(
"histogram") == 0){
1578 std::vector<double> fluxes(6, 0.);
1600 else if(
fFluxType.compare(
"atmo_FLUKA") == 0 ||
fFluxType.compare(
"atmo_BARTOL") == 0 ||
1610 TLorentzVector nuray_pos =
fFluxD->Position();
1611 TVector3 ray2vtx = nuray_pos.Vect() - vertex->Vect();
1612 flux.
fgenx = nuray_pos.X();
1613 flux.
fgeny = nuray_pos.Y();
1614 flux.
fgenz = nuray_pos.Z();
1617 genie::flux::GFluxBlender* blender =
1618 dynamic_cast<genie::flux::GFluxBlender*
>(
fFluxD2GMCJD);
1620 flux.
fdk2gen = blender->TravelDist();
1626 mf::LogInfo(
"GENIEHelper") <<
"vertex loc " << vertex->X() <<
"," 1627 << vertex->Y() <<
"," << vertex->Z() << std::endl
1628 <<
" flux ray start " << nuray_pos.X() <<
"," 1629 << nuray_pos.Y() <<
"," << nuray_pos.Z() << std::endl
1631 <<
" dk2ray = " << flux.
fdk2gen;
double E(const int i=0) const
static const int kNuTauBar
bool fUseHelperRndGen4GENIE
use fHelperRandom for gRandom during Sample()
const simb::MCNeutrino & GetNeutrino() const
Full flux simulation ntuple.
double fgen2vtx
distance from ray origin to event vtx
void PackSimpleFlux(simb::MCFlux &flux)
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
void FillMCFlux(genie::GFluxI *fdriver, simb::MCFlux &mcflux)
void PackNuMIFlux(simb::MCFlux &flux)
const simb::MCParticle & Nu() const
double fgenx
origin of ray from flux generator
simb::flux_code_ fFluxType
double fRandomTimeOffset
additional random time shift (ns) added to every particle time
double fGlobalTimeOffset
overall time shift (ns) added to every particle time
TGeoManager * fGeoManager
pointer to ROOT TGeoManager
std::vector< int > fGenFlavors
pdg codes for flavors to generate
evgb::EvtTimeShiftI * fTimeShifter
generator for time offset within a spill
double fdk2gen
distance from decay to ray origin
genie::GMCJDriver * fDriver
genie::EventRecord * fGenieEventRecord
last generated event
std::vector< TH1D * > fFluxHistograms
histograms for each nu species
Flux for positive horn focus.
int fGHepPrintLevel
GHepRecord::SetPrintLevel(), -1=no-print.
std::string fWorldVolume
name of the world volume in the ROOT geometry
double fTotalExposure
pot used from flux ntuple
TRandom3 * fHelperRandom
random # generator for GENIEHelper
std::string fTopVolume
top volume in the ROOT geometry in which to generate events
static const int kNuMuBar
genie::GFluxI * fFluxD
real flux driver
void SetFluxGen(double nue, double nuebar, double numu, double numubar, double nutau, double nutaubar)
void FillMCTruth(const genie::EventRecord *grec, double spillTime, simb::MCTruth &mctruth)
void PackGTruth(genie::EventRecord *record, simb::GTruth &truth)
double fSpillExposure
total exposure (i.e. pot) for this spill
unsigned int fDebugFlags
set bits to enable debug info
virtual double TimeOffset()=0
void FillGTruth(const genie::EventRecord *grec, simb::GTruth >ruth)
int fSpillEvents
total events for this spill
genie::GFluxI * fFluxD2GMCJD
flux driver passed to genie GMCJDriver, might be GFluxBlender
void PackMCTruth(genie::EventRecord *record, simb::MCTruth &truth)
A simplified flux ntuple for quick running.