|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef G4ATLASTOOLS_PHYSICSLISTSVC_H
6 #define G4ATLASTOOLS_PHYSICSLISTSVC_H
14 #include "GaudiKernel/ToolHandle.h"
17 class G4VModularPhysicsList;
18 class G4VUserPhysicsList;
41 void CommandLog(
int returnCode,
const std::string& commandString)
const;
43 ToolHandleArray<IPhysicsOptionTool>
m_phys_option{
this,
"PhysOption", {},
"Tool handle array of physics options" };
44 ToolHandleArray<IPhysicsOptionTool>
m_phys_decay{
this,
"PhysicsDecay", {},
"Tool handle array of physics decays"};
46 Gaudi::Property<std::string>
m_physicsListName{
this,
"PhysicsList",
"FTFP_BERT",
"Name for physics list"};
47 Gaudi::Property<double>
m_neutronTimeCut{
this,
"NeutronTimeCut", 0,
"Time cut for neutron killer"};
48 Gaudi::Property<double>
m_neutronEnergyCut{
this,
"NeutronEnergyCut", 0,
"Energy cut for neutron killer"};
49 Gaudi::Property<double>
m_generalCut{
this,
"GeneralCut", 0,
"General cut"};
50 Gaudi::Property<double>
m_emMaxEnergy{
this,
"EMMaxEnergy", -1.,
"Maximum energy for EM tables"};
51 Gaudi::Property<double>
m_emMinEnergy{
this,
"EMMinEnergy", -1.,
"Minimum energy for EM tables"};
58 Gaudi::Property<int>
m_emNumberOfBinsPerDecade{
this,
"EMNumberOfBinsPerDecade", -1,
"Number of bins per Energy decade. Used for both DeDx and for the Lambda binning."};
59 Gaudi::Property<bool>
m_applyEMCuts{
this,
"ApplyEMCuts",
true,
"Apply cuts EM flag in Geant4"};
60 Gaudi::Property<bool>
m_quietMode{
this,
"QuietMode",
false,
""};
61 Gaudi::Property<bool>
m_unstableAntiNeutrons{
this,
"UnstableAntiNeutrons",
false,
"Bugfix for ATLASSIM-6634 until we switch to using Geant4 11"};
Gaudi::Property< bool > m_quietMode
!< Switch for the G4 "apply cuts" EM physics flag
Gaudi::Property< double > m_generalCut
!< Energy cut for neutrons (in the neutron killer process)
Gaudi::Property< bool > m_unstableAntiNeutrons
virtual void CreatePhysicsList() override
PhysicsListSvc(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::string > m_physicsListName
!< Handle on the physics list
Gaudi::Property< double > m_emMaxEnergy
!< A general cut - this isn't normally used in our simulation
ToolHandleArray< IPhysicsOptionTool > m_phys_option
Gaudi::Property< double > m_emMinEnergy
!< Maximum energy of the pre-calculated EM cross-section tables
ToolHandleArray< IPhysicsOptionTool > m_phys_decay
void CommandLog(int returnCode, const std::string &commandString) const
This command prints a message about a G4Command depending on its returnCode.
Gaudi::Property< double > m_neutronTimeCut
!< Name for the physics list (property to be set in the tool)
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode initialize() override
Gaudi::Property< double > m_neutronEnergyCut
!< Time cut for neutrons (in the neutron killer process)
Gaudi::Property< int > m_emNumberOfBinsPerDecade
!< Minimum energy of the pre-calculated EM cross-section tables
G4VModularPhysicsList * m_physicsList
Gaudi::Property< bool > m_applyEMCuts
!< Number of bins per Energy decade. Used for both DeDx and for the Lambda binning.
virtual ~PhysicsListSvc()=default
virtual G4VUserPhysicsList * GetPhysicsList() override
virtual void SetPhysicsList() override
virtual void SetPhysicsOptions() override