30#include <G4ParticleDefinition.hh>
31#include <G4ProcessManager.hh>
32#include <G4ProcessTable.hh>
35#include <G4StateManager.hh>
38#define G4MT_physicsVector \
39 ((G4VMPLsubInstanceManager.offset[g4vmplInstanceID]).physicsVector)
53 selections +=
"stepLimiter ";
54 selections +=
"specialCuts ";
55 selections +=
"stackPopper ";
56 selections +=
"gflash ";
85 fStackPopperPhysics(0),
92 G4cout <<
"TG4SpecialPhysicsList::TG4SpecialPhysicsList" << G4endl;
96 "Cannot create two instances of singleton.");
109 fStackPopperPhysics(0),
111 fFastSimulationPhysics(0),
112 fIsSpecialCuts(false)
116 G4cout <<
"TG4SpecialPhysicsList::TG4SpecialPhysicsList" << G4endl;
150 G4bool isGflash =
false;
151 while (token !=
"") {
153 if (token ==
"specialCuts") {
158 else if (token ==
"stepLimiter") {
162 else if (token ==
"stackPopper") {
167 else if (token ==
"gflash") {
172 "TG4SpecialPhysicsList",
"Configure",
"Unrecognized option " + token);
201 g3PhysicsManager->
Lock();
207 G4PhysConstVector::iterator itr;
210 (*itr)->ConstructProcess();
230 SetVerboseLevel(level);
232 G4PhysConstVector::iterator it;
239 (*it)->SetVerboseLevel(level);
Definition of the TG4EmModelPhysics class.
#define G4MT_physicsVector
Definition of the TG4ExtDecayerPhysics class.
Definition of the TG4FastSimulationPhysics class.
Definition of the TG4G3ControlVector class.
Definition of the TG4G3PhysicsManager class.
Definition of the TG4GeometryServices class.
Definition of the TG4GflashFastSimulation class.
Definition of the TG4ProcessMapPhysics class.
Definition of the TG4SpecialCutsPhysics class.
Definition of the TG4SpecialPhysicsList class.
Definition of the TG4StackPopperPhysics class.
Definition of the TG4StepLimiterPhysics class.
Definition of the TG4TransitionRadiationPhysics class.
Definition of the TG4UserParticlesPhysics class.
Physics builder which activates a selected EM energy loss and/or fluctuations model.
The builder for external decayer.
Physics builder which activates selected fast simulation models.
void SetUserFastSimulation(TG4VUserFastSimulation *userFastSimulation)
Provides a Geant3 way control to Geant4 physics.
static TG4G3PhysicsManager * Instance()
Special class for definition of Gflash fast simulation model.
static G4String GetToken(Int_t i, const TString &s)
static void Warning(const TString &className, const TString &methodName, const TString &text)
static void Exception(const TString &className, const TString &methodName, const TString &text)
The special builder which fills the VMC process map.
The builder for special cuts process.
The Geant4 VMC special physics list helper class.
TG4StackPopperPhysics * fStackPopperPhysics
Stack popper physics builder.
static G4String AvailableSelections()
TG4EmModelPhysics * fEmModelPhysics
EM models physics builder.
void SetUserFastSimulation(TG4VUserFastSimulation *fastSimulation)
G4bool fIsSpecialCuts
Option for special cuts.
TG4FastSimulationPhysics * fFastSimulationPhysics
Fast simulation physics builder.
virtual ~TG4SpecialPhysicsList()
virtual G4int VerboseLevel() const
static G4bool IsAvailableSelection(const G4String &selection)
static G4ThreadLocal TG4SpecialPhysicsList * fgInstance
this instance
void Configure(const G4String &selection)
virtual void ConstructProcess()
The builder for stack popper process.
The builder for step limiter process.
The builder for transition radiation processes.
The builder for user defined particles.
The abstract base class which is used to build fast simulation models.
Base class for defining the verbose level and a common messenger.
virtual G4int VerboseLevel() const
virtual void VerboseLevel(G4int level)