Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4INCL::IPropagationModel Class Referenceabstract

#include <G4INCLIPropagationModel.hh>

+ Inheritance diagram for G4INCL::IPropagationModel:

Public Member Functions

 IPropagationModel ()
 
virtual ~IPropagationModel ()
 
virtual void setNucleus (G4INCL::Nucleus *nucleus)=0
 
virtual G4INCL::NucleusgetNucleus ()=0
 
virtual G4double shoot (ParticleSpecies const projectileSpecies, const G4double kineticEnergy, const G4double impactParameter, const G4double phi)=0
 
virtual G4double getCurrentTime ()=0
 
virtual void setStoppingTime (G4double)=0
 
virtual G4double getStoppingTime ()=0
 
virtual G4INCL::IAvatarpropagate ()=0
 

Protected Member Functions

virtual G4double shootParticle (ParticleType const t, const G4double kineticEnergy, const G4double impactParameter, const G4double phi)=0
 
virtual G4double shootComposite (ParticleSpecies const s, const G4double kineticEnergy, const G4double impactParameter, const G4double phi)=0
 

Detailed Description

Propagation model takes care of transporting the particles until something interesting (i.e. an avatar) happens. This avatar is then returned back to the INCL kernel for further processing.

The propagation model idea abstracts the details of propagation. This allows us to conveniently support multiple propagation models and to compare their results. Some possible future propagation models are: straight line trajectories by using constant time step and curved trajectories.

Definition at line 64 of file G4INCLIPropagationModel.hh.

Constructor & Destructor Documentation

◆ IPropagationModel()

G4INCL::IPropagationModel::IPropagationModel ( )
inline

Definition at line 66 of file G4INCLIPropagationModel.hh.

66{}

◆ ~IPropagationModel()

virtual G4INCL::IPropagationModel::~IPropagationModel ( )
inlinevirtual

Definition at line 67 of file G4INCLIPropagationModel.hh.

67{}

Member Function Documentation

◆ getCurrentTime()

virtual G4double G4INCL::IPropagationModel::getCurrentTime ( )
pure virtual

Returns the current global time of the system.

Implemented in G4INCL::StandardPropagationModel.

◆ getNucleus()

virtual G4INCL::Nucleus * G4INCL::IPropagationModel::getNucleus ( )
pure virtual

Get a pointer to the nucleus.

Returns
G4INCL::Nuleus*

Implemented in G4INCL::StandardPropagationModel.

◆ getStoppingTime()

virtual G4double G4INCL::IPropagationModel::getStoppingTime ( )
pure virtual

Get the current stopping time.

Implemented in G4INCL::StandardPropagationModel.

◆ propagate()

virtual G4INCL::IAvatar * G4INCL::IPropagationModel::propagate ( )
pure virtual

Propagate the particles and get the next avatar.

Returns
G4INCL::IAvatar the next avatar

Implemented in G4INCL::StandardPropagationModel.

◆ setNucleus()

virtual void G4INCL::IPropagationModel::setNucleus ( G4INCL::Nucleus nucleus)
pure virtual

Set the nucleus for the propagation model.

Parameters
nucleusPointer to the nucleus

Implemented in G4INCL::StandardPropagationModel.

Referenced by G4INCL::INCL::initializeTarget().

◆ setStoppingTime()

virtual void G4INCL::IPropagationModel::setStoppingTime ( G4double  )
pure virtual

Set new stopping time to the propagation.

Implemented in G4INCL::StandardPropagationModel.

◆ shoot()

virtual G4double G4INCL::IPropagationModel::shoot ( ParticleSpecies const  projectileSpecies,
const G4double  kineticEnergy,
const G4double  impactParameter,
const G4double  phi 
)
pure virtual

◆ shootComposite()

virtual G4double G4INCL::IPropagationModel::shootComposite ( ParticleSpecies const  s,
const G4double  kineticEnergy,
const G4double  impactParameter,
const G4double  phi 
)
protectedpure virtual

◆ shootParticle()

virtual G4double G4INCL::IPropagationModel::shootParticle ( ParticleType const  t,
const G4double  kineticEnergy,
const G4double  impactParameter,
const G4double  phi 
)
protectedpure virtual

The documentation for this class was generated from the following file: