33 #define INCLXX_IN_GEANT4_MODE 1
44 #ifndef G4INCLStandardPropagationModel_hh
45 #define G4INCLStandardPropagationModel_hh 1
179 #ifdef INCL_REGENERATE_AVATARS
184 void generateAllAvatarsExceptUpdated();
void registerAvatar(G4INCL::IAvatar *anAvatar)
Add an avatar to the storage.
G4double shootComposite(ParticleSpecies const s, const G4double kineticEnergy, const G4double impactParameter, const G4double phi)
void generateAllAvatars()
(Re)Generate all possible avatars.
StandardPropagationModel(LocalEnergyType localEnergyType, LocalEnergyType localEnergyDeltaType)
void generateCollisions(const ParticleList &particles)
Generate and register collisions among particles in a list, except between those in another list...
G4double getReflectionTime(G4INCL::Particle const *const aParticle)
Get the reflection time.
void updateAvatars(const ParticleList &particles)
Update all avatars related to a particle.
G4INCL::Nucleus * theNucleus
void setNucleus(G4INCL::Nucleus *nucleus)
Set the nucleus for this propagation model.
void setStoppingTime(G4double)
Set the stopping time of the simulation.
Propagation model takes care of transporting the particles until something interesting (i...
G4double getTime(G4INCL::Particle const *const particleA, G4INCL::Particle const *const particleB, G4double *minDistOfApproach) const
Get the predicted time of the collision between two particles.
G4double shoot(ParticleSpecies const projectileSpecies, const G4double kineticEnergy, const G4double impactParameter, const G4double phi)
LocalEnergyType theLocalEnergyDeltaType
G4double getCurrentTime()
Returns the current global time of the system.
IAvatar * generateBinaryCollisionAvatar(Particle *const p1, Particle *const p2)
Generate a two-particle avatar.
Standard INCL4 particle propagation and avatar prediction.
void generateDecays(const ParticleList &particles)
Generate decays for particles that can decay.
G4INCL::Nucleus * getNucleus()
Get the nucleus.
virtual ~StandardPropagationModel()
G4double shootParticle(ParticleType const t, const G4double kineticEnergy, const G4double impactParameter, const G4double phi)
void generateUpdatedCollisions(const ParticleList &updatedParticles, const ParticleList &particles)
Generate and register collisions between a list of updated particles and all the other particles...
G4double getStoppingTime()
Get the current stopping time.
void putSpectatorsOnShell(IAvatarList const &entryAvatars, ParticleList const &spectators)
Put spectators on shell by extracting energy from the participants.
G4INCL::IAvatar * propagate()
Propagate all particles and return the first avatar.
LocalEnergyType theLocalEnergyType