16 namespace CLHEP {
class HepRandomEngine; }
19 namespace fhicl {
class ParameterSet; }
22 namespace simb {
class MCTruth; }
34 std::vector<simb::MCTruth>
Generate(CLHEP::HepRandomEngine& engine);
40 (CLHEP::HepRandomEngine& engine)
const;
44 (CLHEP::HepRandomEngine& engine)
const;
68 CLHEP::HepRandomEngine& engine)
const;
71 (simb::MCTruth& truth,
double neutrinoEnergy,
72 double neutrinoTime, CLHEP::HepRandomEngine& engine)
const;
74 (
double neutrinoEnergy,
int& highestLevel)
const;
86 std::vector< double >
fB;
std::vector< double > fStartEnergyLevels
bool ProcessOneNeutrino(simb::MCTruth &truth, double neutrinoEnergy, double neutrinoTime, CLHEP::HepRandomEngine &engine) const
double fNeutrinoTimeBegin
std::vector< double > GetUniformPosition(CLHEP::HepRandomEngine &engine) const
std::vector< double > fEnergyLevels
void CreateKinematicsVector(simb::MCTruth &truth, CLHEP::HepRandomEngine &engine) const
std::vector< std::vector< double > > fBranchingRatios
std::vector< double > GetIsotropicDirection(CLHEP::HepRandomEngine &engine) const
bool fUsePoissonDistribution
bool fMonoenergeticNeutrinos
double GetNeutrinoTime(CLHEP::HepRandomEngine &engine) const
std::vector< double > CalculateCrossSections(double neutrinoEnergy, int &highestLevel) const
int GetNumberOfNeutrinos(CLHEP::HepRandomEngine &engine) const
NueAr40CCGenerator(fhicl::ParameterSet const ¶meterSet)
std::map< double, double > fEnergyProbabilityMap
double GetNeutrinoEnergy(CLHEP::HepRandomEngine &engine) const
std::string fEnergySpectrumFileName
std::vector< simb::MCTruth > Generate(CLHEP::HepRandomEngine &engine)
std::vector< std::vector< double > > fActiveVolume
std::vector< std::vector< int > > fDecayTo
void ReadNeutrinoSpectrum()