1#ifndef TG4_GEOMETRY_MANAGER_H
2#define TG4_GEOMETRY_MANAGER_H
35class TG4RootDetectorConstruction;
39class G4MagIntegratorStepper;
42class TVirtualMagField;
80 TG4RootDetectorConstruction* rootDetectorConstruction);
89 G4MagIntegratorStepper* stepper, G4String volumeName =
"");
98 const std::vector<TG4RadiatorDescription*>&
GetRadiators()
const;
154 static G4ThreadLocal std::vector<TG4Field*>*
fgFields;
216 TG4RootDetectorConstruction* rootDetectorConstruction)
235inline const std::vector<TG4RadiatorDescription*>&
Definition of the TG4DetConstructionMessenger class.
Definition of the TG4FieldParameters class.
Definition of the TG4Globals class and basic container types.
Definition of the TG4Verbose class.
Messenger class that defines commands for TG4DetConstruction.
The magnetic field parameters.
The class for constructing magnetic, electromagnetic and gravity fields which strength is defined via...
Vector of control process values with convenient set/get methods.
Vector of kinetic energy cut values with convenient set/get methods.
The manager class for building Geant4 geometry depending on a selected user input.
G4bool fIsZeroField
option to activate propagating 'ifield = 0' defined in tracking media
static const G4double fgDefaultMaxStep
default max allowed step in materials with density < fLimitDensity
static TG4GeometryManager * fgInstance
this instance
G4bool fIsLocalField
option to activate getting local magnetic fields from Root geometry
void ConstructG4Geometry()
TG4BiasingManager * fBiasingManager
Biasing manager.
TG4ModelConfigurationManager * fFastModelsManager
Fast simulation models manager.
TVirtualMCGeometry * GetMCGeometry() const
void FillMediumMapFromG4()
void ConstructZeroFields()
void ConstructSDandField()
G4bool fIsCachedMagneticField
info if a cached magnetic field is in use
static G4ThreadLocal std::vector< TG4Field * > * fgFields
Fields.
void CreateField(TVirtualMagField *magField, TG4FieldParameters *fieldParameters, G4LogicalVolume *lv)
TG4GeometryManager & operator=(const TG4GeometryManager &right)
Not implemented.
void SetIsLocalField(G4bool isLocalField)
TG4FieldParameters * GetOrCreateFieldParameters(const G4String &volumeName)
void SetIsMaxStepInLowDensityMaterials(G4bool isMaxStep)
void ConstructLocalFields()
TG4DetConstructionMessenger fMessenger
messenger
void ConstructG4GeometryViaVMC()
std::vector< TG4FieldParameters * > fFieldParameters
Field parameters.
TG4GeometryManager(const TString &userGeometry)
void ConstructGlobalField()
void SetUserEquationOfMotion(G4EquationOfMotion *equation, G4String volumeName="")
void SetUserPostDetConstruction(TG4VUserPostDetConstruction *userPostDetConstruction)
TG4GeometryServices * fGeometryServices
geometry services
TG4ModelConfigurationManager * GetEmModelsManager() const
G4bool fIsUserMaxStep
option to activate max step defined in tracking media
void SetRootDetectorConstruction(TG4RootDetectorConstruction *rootDetectorConstruction)
void SetIsZeroField(G4bool isZeroField)
void PrintFieldStatistics() const
void CreateFieldParameters(const G4String &fieldVolName)
G4double fLimitDensity
material density limit for setting max allowed step
TG4ModelConfigurationManager * GetFastModelsManager() const
void FillMediumMapFromG3()
TG4OpGeometryManager * fOpManager
optical geometry manager
G4bool fIsMaxStepInLowDensityMaterials
option to activate max step defined in low density materials
TG4VUserRegionConstruction * fUserRegionConstruction
User region construction.
TG4RadiatorDescription * CreateRadiator(const G4String &volName)
TG4ModelConfigurationManager * fEmModelsManager
EM models manager.
void SetUserRegionConstruction(TG4VUserRegionConstruction *userRegionConstruction)
std::vector< TG4RadiatorDescription * > fRadiators
Radiators.
void FillMediumMapFromRoot()
void SetMaxStepInLowDensityMaterials(G4double maxStep)
TG4RootDetectorConstruction * fRootDetectorConstruction
Root detector construction.
static const G4double fgDefaultLimitDensity
default material density limit for setting max allowed step
static TG4GeometryManager * Instance()
void SetIsUserMaxStep(G4bool isUserMaxStep)
virtual ~TG4GeometryManager()
void SetUserLimits(const TG4G3CutVector &cuts, const TG4G3ControlVector &controls) const
TG4GeometryManager(const TG4GeometryManager &right)
Not implemented.
void SetLimitDensity(G4double density)
TG4VUserPostDetConstruction * fUserPostDetConstruction
User post detector construction.
void ConstructG4GeometryViaVGM()
const std::vector< TG4RadiatorDescription * > & GetRadiators() const
G4String fUserGeometry
User geometry input.
TG4OpGeometryManager * GetOpManager() const
void SetUserStepper(G4MagIntegratorStepper *stepper, G4String volumeName="")
G4double fMaxStepInLowDensityMaterials
max allowed step in materials with density < fLimitDensity
TVirtualMCGeometry * fMCGeometry
VirtualMC geometry.
Services for accessing to Geant4 geometry.
The model configuration vector with suitable setters and a messenger.
Geant4 implementation of the TVirtualMC interface methods for definition of material properties for o...
The radiator description.
The abstract base class for user defined class to customize geometry.
The abstract base class for user defined regions.
Base class for defining the verbose level and a common messenger.