Go to the documentation of this file. 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"
25 class G4ParticleDefinition;
28 class G4TheoFSGenerator;
30 class G4ExcitedStringDecay;
31 class G4LundStringFragmentation;
32 class G4GeneratorPrecompoundInterface;
33 class G4CascadeInterface;
34 class G4DiffuseElastic;
35 class G4PhysicsLogVector;
G4HadProjectile theProjectile
G4PhysicsLogVector * vect
static const int numHadrons
NuclearInteractionFTFSimulator(unsigned int distAlgo, double distCut, double elimit, double eth)
Constructor.
G4ExcitedStringDecay * theStringDecay
double distanceToPrimary(const RawParticle &Particle, const RawParticle &aDaughter) const
G4CascadeInterface * theBertiniCascade
static const G4ParticleDefinition * theG4Hadron[numHadrons]
G4DiffuseElastic * theDiffuseElastic
G4GeneratorPrecompoundInterface * theCascade
void compute(ParticlePropagator &Particle, RandomEngineAndDistribution const *) override
Generate a nuclear interaction according to the probability that it happens.
G4FTFModel * theStringModel
static int theId[numHadrons]
const G4ParticleDefinition * currParticle
~NuclearInteractionFTFSimulator() override
Default Destructor.
G4TheoFSGenerator * theHadronicModel
G4LundStringFragmentation * theLund
void saveDaughter(ParticlePropagator &Particle, const G4LorentzVector &lv, int pdgid)
double intLengthInelastic