1 #ifndef FastSimulation_MaterialEffects_NuclearInteractionFTFSimulator_H
2 #define FastSimulation_MaterialEffects_NuclearInteractionFTFSimulator_H
18 #include "G4Nucleus.hh"
19 #include "G4HadProjectile.hh"
20 #include "G4LorentzVector.hh"
21 #include "G4ThreeVector.hh"
27 class G4ParticleDefinition;
30 class G4TheoFSGenerator;
32 class G4ExcitedStringDecay;
33 class G4LundStringFragmentation;
34 class G4GeneratorPrecompoundInterface;
G4FTFModel * theStringModel
std::vector< double > theNuclIntLength
void compute(ParticlePropagator &Particle, RandomEngineAndDistribution const *)
Generate a nuclear interaction according to the probability that it happens.
void saveDaughter(ParticlePropagator &Particle, const G4LorentzVector &lv, int pdgid)
std::vector< const G4ParticleDefinition * > theG4Hadron
G4HadProjectile theProjectile
double distanceToPrimary(const RawParticle &Particle, const RawParticle &aDaughter) const
const G4ParticleDefinition * currParticle
G4GeneratorPrecompoundInterface * theCascade
G4LundStringFragmentation * theLund
~NuclearInteractionFTFSimulator()
Default Destructor.
G4ExcitedStringDecay * theStringDecay
NuclearInteractionFTFSimulator(unsigned int distAlgo, double distCut)
Constructor.
G4TheoFSGenerator * theHadronicModel