16 namespace CLHEP {
class HepRandomEngine; }
19 namespace fhicl {
class ParameterSet; }
22 namespace simb {
class MCTruth; }
34 std::vector<simb::MCTruth> Generate(CLHEP::HepRandomEngine& engine);
39 std::vector< double > GetIsotropicDirection
40 (CLHEP::HepRandomEngine& engine)
const;
43 std::vector< double > GetUniformPosition
44 (CLHEP::HepRandomEngine& engine)
const;
47 int GetNumberOfNeutrinos(CLHEP::HepRandomEngine& engine)
const;
51 double GetNeutrinoTime(CLHEP::HepRandomEngine& engine)
const;
55 double GetNeutrinoEnergy(CLHEP::HepRandomEngine& engine)
const;
59 void ReadNeutrinoSpectrum();
64 void InitializeVectors();
68 CLHEP::HepRandomEngine& engine)
const;
70 bool ProcessOneNeutrino
72 double neutrinoTime, CLHEP::HepRandomEngine& engine)
const;
73 std::vector< double > CalculateCrossSections
74 (
double neutrinoEnergy,
int& highestLevel)
const;
86 std::vector< double >
fB;
std::vector< double > fStartEnergyLevels
double fNeutrinoTimeBegin
std::vector< double > fEnergyLevels
std::vector< std::vector< double > > fBranchingRatios
bool fUsePoissonDistribution
bool fMonoenergeticNeutrinos
std::map< double, double > fEnergyProbabilityMap
Base utilities and modules for event generation and detector simulation.
std::string fEnergySpectrumFileName
Event generator information.
std::vector< std::vector< double > > fActiveVolume
std::vector< std::vector< int > > fDecayTo
Event Generation using GENIE, cosmics or single particles.