11 #ifndef SimG4Core_CustomPhysics_FullModelReactionDynamics_h
12 #define SimG4Core_CustomPhysics_FullModelReactionDynamics_h 1
14 #include "G4ParticleTypes.hh"
15 #include "G4DynamicParticle.hh"
16 #include "G4ReactionProduct.hh"
17 #include "G4Nucleus.hh"
18 #include "G4FastVector.hh"
19 #include "G4HadProjectile.hh"
34 G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec,
36 G4ReactionProduct &modifiedOriginal,
37 const G4HadProjectile *originalIncident,
38 G4ReactionProduct ¤tParticle,
39 G4ReactionProduct &targetParticle,
40 const G4Nucleus &targetNucleus,
41 G4bool &incidentHasChanged,
42 G4bool &targetHasChanged,
44 G4ReactionProduct &leadingStrangeParticle);
48 const G4ReactionProduct &modifiedOriginal,
49 G4ReactionProduct ¤tParticle,
50 G4ReactionProduct &targetParticle,
51 const G4Nucleus &targetNucleus,
52 G4bool &incidentHasChanged,
53 G4bool &targetHasChanged);
56 G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec,
58 G4ReactionProduct &modifiedOriginal,
59 const G4HadProjectile *originalIncident,
60 G4ReactionProduct ¤tParticle,
61 G4ReactionProduct &targetParticle,
62 const G4Nucleus &targetNucleus,
63 G4bool &incidentHasChanged,
64 G4bool &targetHasChanged,
66 G4ReactionProduct &leadingStrangeParticle);
69 G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec,
71 G4ReactionProduct &modifiedOriginal,
72 const G4DynamicParticle *originalTarget,
73 G4ReactionProduct ¤tParticle,
74 G4ReactionProduct &targetParticle,
75 const G4Nucleus &targetNucleus,
76 G4bool &targetHasChanged);
81 const G4double totalEnergy,
82 const G4bool constantCrossSection,
83 G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec,
88 const G4ReactionProduct &modifiedOriginal,
89 const G4DynamicParticle *originalTarget,
90 G4ReactionProduct ¤tParticle,
91 G4ReactionProduct &targetParticle,
92 G4bool &incidentHasChanged,
93 G4bool &targetHasChanged);
96 G4FastVector<G4ReactionProduct, 4> &vec,
98 const G4HadProjectile *originalIncident,
99 const G4Nucleus &aNucleus,
100 const G4double theAtomicMass,
101 const G4double *massVec);
104 void Rotate(
const G4double numberofFinalStateNucleons,
105 const G4ThreeVector &
temp,
106 const G4ReactionProduct &modifiedOriginal,
107 const G4HadProjectile *originalIncident,
108 const G4Nucleus &targetNucleus,
109 G4ReactionProduct ¤tParticle,
110 G4ReactionProduct &targetParticle,
111 G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec,
114 void Defs1(
const G4ReactionProduct &modifiedOriginal,
115 G4ReactionProduct ¤tParticle,
116 G4ReactionProduct &targetParticle,
117 G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec,
124 const G4double sprob,
125 const G4double kineticMinimum,
126 const G4double kineticFactor,
127 const G4ReactionProduct &modifiedOriginal,
129 const G4Nucleus &aNucleus,
130 G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec,
133 void MomentumCheck(
const G4ReactionProduct &modifiedOriginal,
134 G4ReactionProduct ¤tParticle,
135 G4ReactionProduct &targetParticle,
136 G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec,