4 #include <CLHEP/Random/Randomize.h>
6 #include <G4LorentzVector.hh>
8 #include <G4ThreeVector.hh>
9 #include <RAT/LinearInterp.hh>
13 class IBDgenMessenger;
24 void GenEvent(
const G4ThreeVector &nu_dir, G4LorentzVector &neutrino, G4LorentzVector &positron,
25 G4LorentzVector &neutron);
34 void GenInteraction(
double &E,
double &CosThetaLab);
37 static double CrossSection(
double Enu,
double CosThetaLab);
39 static double dE1dCosT(
double Enu,
double CosThetaLab);
41 static double EvalMax(
double Enu,
double FluxMax);
44 static double PositronEnergy(
double Enu,
double CosThetaLab);
47 double Flux(
double E)
const {
return rmpflux(E); };
50 G4String GetSpectrumIndex() {
return SpectrumIndex; };
51 void SetSpectrumIndex(G4String _specIndex);
53 bool GetNeutronState() {
return NeutronState; };
54 void SetNeutronState(
bool _state) { NeutronState = _state; };
56 bool GetPositronState() {
return PositronState; };
57 void SetPositronState(
bool _state) { PositronState = _state; };
59 void UpdateFromDatabaseIndex();
70 bool ApplyCrossSection;
73 G4String SpectrumIndex;
Definition: IBDgenMessenger.hh:19
Definition: CCCrossSecMessenger.hh:29