1 #ifndef SimG4Core_CustomPhysics_FullModelHadronicProcess_h
2 #define SimG4Core_CustomPhysics_FullModelHadronicProcess_h 1
5 #include "G4VDiscreteProcess.hh"
6 #include "G4EnergyRangeManager.hh"
7 #include "G4Nucleus.hh"
8 #include "G4ReactionProduct.hh"
10 #include "G4HadronicException.hh"
22 G4bool
IsApplicable(
const G4ParticleDefinition &aP)
override;
24 G4VParticleChange *
PostStepDoIt(
const G4Track &aTrack,
const G4Step &aStep)
override;
34 const G4Element *anElement,
37 G4double
GetMeanFreePath(
const G4Track &aTrack, G4double, G4ForceCondition *)
override;
41 const G4HadProjectile *originalIncident,
42 const G4DynamicParticle *originalTarget,
43 G4ReactionProduct &modifiedOriginal,
44 G4Nucleus &targetNucleus,
45 G4ReactionProduct ¤tParticle,
46 G4ReactionProduct &targetParticle,
47 G4bool &incidentHasChanged,
48 G4bool &targetHasChanged,
52 const G4ReactionProduct &targetParticle,
53 G4ReactionProduct &leadParticle);
55 void Rotate(G4FastVector<G4ReactionProduct, MYGHADLISTSIZE> &vec, G4int &vecLen);
57 const G4DynamicParticle *
FindRhadron(G4ParticleChange *);