1 #ifndef __RAT_VertexGen_SN__
2 #define __RAT_VertexGen_SN__
5 #include <G4ThreeVector.hh>
7 #include <RAT/SNgen.hh>
32 virtual void GeneratePrimaryVertex(G4Event *argEvent, G4ThreeVector &dx, G4double dt);
34 virtual void GenerateIBDVertex(G4Event *argEvent, G4ThreeVector &dx, G4double dt, G4double e_nu);
36 virtual void GenerateESVertex(G4Event *argEvent, G4ThreeVector &dx, G4double dt, G4double e_nu);
38 virtual void GenerateCCVertex(G4Event *argEvent, G4ThreeVector &dx, G4double dt, G4double e_nu);
40 virtual void GenerateICCVertex(G4Event *argEvent, G4ThreeVector &dx, G4double dt, G4double e_nu);
42 virtual void GenerateNCVertex(G4Event *argEvent, G4ThreeVector &dx, G4double dt, G4double e_nu);
44 virtual void GenerateINCVertex(G4Event *argEvent, G4ThreeVector &dx, G4double dt, G4double e_nu);
46 virtual CLHEP::HepLorentzVector GetEmomentum(G4double e_nu, G4double eelectron, G4ThreeVector neutrino_dir);
47 virtual G4double GetElectronEnergy(G4double nu_energy);
49 virtual void Eval2BodyKinematicIBD(G4double enu, G4ThreeVector neutrino_dir);
51 virtual void Eval2BodyKinematicCC(G4double enu, G4ThreeVector neutrino_dir);
53 virtual void Eval2BodyKinematicICC(G4double enu, G4ThreeVector neutrino_dir);
56 virtual G4int ChooseInteraction();
60 virtual void SetState(G4String newValues);
63 virtual G4String GetState();
69 static double FindCosTheta(G4double Enu, G4double target_mass_c2, G4double recoil_mass_c2);
72 G4ParticleDefinition *electron, *nu, *n, *p, *eplus, *gamma;
76 G4String _spectrum, specname;
78 std::vector<double> spec_E;
79 std::vector<double> spec_mag;
80 CLHEP::HepLorentzVector primair;
81 CLHEP::HepLorentzVector secondaire;
Definition: GLG4VertexGen.hh:26
Definition: VertexGen_SN.hh:23
Definition: CCCrossSecMessenger.hh:29