#include #include #include #include #include #include "TCanvas.h" #include "TMath.h" #include "TROOT.h" #include "TFile.h" #include "TTree.h" #include "TH1.h" #include "TH2.h" #include "TRandom.h" #include "TError.h" #include "TGraph.h" #include "TSpline.h" /* Units - MeV, cm, unless otherwise noted */ #define NBIN 100 #define PI 3.141592654 #define Gf 1.166e-11 /* Fermi constant */ #define ME 0.511 /* Electron mass */ #define HBARC 1.97e-11 /* hbarc */ #define ALPHA 7.297e-3 /* fine structure constnat */ #define MP 938.27 /* proton mass */ #define MN 939.56 /* Neutron mass *. #define NNUBIN 16 /* Number of energy bins */ #define NUCOMP 9 /* Number of fission components */ //__________________________________________________________________ // // The Rnu class consists of 100 element arrays for manipulating // various functions relevant to reactor neutrino physics. // // Units are always MeV, cm, seconds // class Rnu { private: Double_t the_spectrum[NBIN]; /* Data points */ Double_t the_type; /* 1=cross section */ /* 2=positron spectrum */ /* 3=Neutrino */ Double_t the_energy[NBIN]; /*Bin energies */ Double_t the_ga; /* Neutral weak coupling constants */ Double_t the_gv; Double_t the_enu; /* Neutrino energy */ public: Rnu(); void CrossNuE(Double_t Enu, Double_t ga, Double_t gv, Double_t Mnue); void MakeHist(char*); Double_t dNuEdT(Double_t Enu, Double_t T, Double_t ga, Double_t gv, Double_t Munue); Double_t GetNeutrinoSpectrumEnergy(Int_t i); Double_t GetNeutrinoSpectrumComponent(Int_t i, Int_t comp); void NeutrinoSpectrum(Double_t* f); Double_t DeltaRad(Double_t Enu, Double_t Tpos); Double_t DeltaWM(Double_t Enu, Double_t Tpos); Double_t NubarP(Double_t Enu, Double_t Tpos); void CrossNubarP() };