16#include <G4ApplicationState.hh>
17#include <G4ErrorPropagatorData.hh>
18#include <G4ErrorPropagator.hh>
21class G4ErrorTrajState;
23class G4VUserDetectorConstruction;
24class G4VPhysicalVolume;
25class G4VUserPhysicsList;
27class G4UserEventAction;
28class G4UserStackingAction;
29class G4UserTrackingAction;
30class G4UserSteppingAction;
32class G4MagIntegratorStepper;
33class G4EquationOfMotion;
35class G4Mag_UsualEqRhs;
38class G4VExceptionHandler;
46 namespace Simulation {
67 void Initialize(
const char [],
const std::string&,
double,
double,
bool,
int,
const std::vector<std::string>&);
73 G4int
PropagateOneStep(G4ErrorTrajState* currentTS, G4ErrorMode mode = G4ErrorMode_PropForwards);
It is the main interface for the user to define the setup and start the propagation.
G4VisManager * m_VisManager
Pointer to the visualization manager (if used)
G4RunManager * m_G4RunMgr
Pointer to the simulation's G4RunManager (if any)
G4MagIntegratorStepper * m_Stepper
Pointer to the equation-of-motion stepper (if not the default)
G4VExceptionHandler * m_StepExceptionHandler
Pointer to the G4VExceptionHandler used in PropagateOneStep()
static ExtManager * GetManager()
Get pointer to the instance of this singleton class (create if needed)
G4MagIntegratorStepper * m_StdStepper
Pointer to the standard equation-of-motion stepper.
void RunTermination()
Terminate a run and set state to G4ErrorState_Init.
void EventTermination(G4ErrorMode)
Terminate an event and set state to G4ErrorState_Init.
G4ErrorPropagator * GetPropagator() const
Get the propagator.
ExtManager & operator=(ExtManager &)=delete
Assignment operator is undefined for singleton; user calls ExtManager::GetManager() instead.
static ExtManager * m_Manager
Stores pointer to the singleton class.
G4MagneticField * m_UncachedField
Pointer to the uncached magnetic field (might be superseded by its cached version)
G4Mag_UsualEqRhs * m_MagFldEquation
Pointer to the equation of motion in the magnetic field (if not the default)
G4MagneticField * m_MagneticField
Pointer to the (un)cached magnetic field.
G4UserTrackingAction * m_TrackingAction
Pointer to the simulation's TrackingAction (if any)
G4EquationOfMotion * m_ForwardEquationOfMotion
Pointer to the forward-propagation equation of motion.
ExtManager(ExtManager &)=delete
copy constructor is undefined for singleton; user calls ExtManager::GetManager() instead
G4ApplicationState m_G4State
Initial state of the G4RunManager (=PreInitif FullSimModule not present)
G4UserSteppingAction * m_SteppingAction
Pointer to the simulation's SteppingAction (if any)
void InitTrackPropagation(G4ErrorMode)
Initialize for propagation of a track and set state to G4ErrorState_Propagating.
ExtManager()
constructor is hidden: user calls ExtManager::GetManager() instead
G4EquationOfMotion * m_BackwardEquationOfMotion
Pointer to the equation of motion that accommodates back-propagation.
void Initialize(const char[], const std::string &, double, double, bool, int, const std::vector< std::string > &)
Initialize Geant4 and Geant4e.
G4int PropagateOneStep(G4ErrorTrajState *currentTS, G4ErrorMode mode=G4ErrorMode_PropForwards)
Propagate a track by one step.
G4ChordFinder * m_ChordFinder
Pointer to the equation-of-motion chord finder (if not the default)
G4ErrorPropagator * m_Propagator
Stores pointer to the propagator.
Abstract base class for different kinds of events.