1 #ifndef larsim_LegacyLArG4_CustomPhysicsBuiltIns_hh 2 #define larsim_LegacyLArG4_CustomPhysicsBuiltIns_hh 14 #include "Geant4/G4ChargeExchangePhysics.hh" 15 #include "Geant4/G4DecayPhysics.hh" 16 #include "Geant4/G4EmExtraPhysics.hh" 17 #include "Geant4/G4EmLivermorePhysics.hh" 18 #include "Geant4/G4EmPenelopePhysics.hh" 19 #include "Geant4/G4EmStandardPhysics.hh" 20 #include "Geant4/G4HadronElasticPhysics.hh" 21 #include "Geant4/G4HadronElasticPhysicsHP.hh" 22 #include "Geant4/G4HadronElasticPhysicsPHP.hh" 23 #include "Geant4/G4HadronPhysicsQGSP_BERT.hh" 24 #include "Geant4/G4HadronPhysicsQGSP_BERT_HP.hh" 25 #include "Geant4/G4IonPhysics.hh" 26 #include "Geant4/G4NeutronTrackingCut.hh" 27 #include "Geant4/G4StoppingPhysics.hh" 35 return new G4EmStandardPhysics(0);
41 return new G4EmExtraPhysics(
"extra EM");
47 return new G4ChargeExchangePhysics(2);
53 return new G4DecayPhysics(
"Decay", 0);
60 return new G4HadronElasticPhysics(0);
67 return new G4HadronElasticPhysicsHP(0);
74 return new G4HadronElasticPhysicsPHP(0);
81 constexpr G4bool quasiElastic{
true};
82 return new G4HadronPhysicsQGSP_BERT(
"hadron", quasiElastic);
89 return new G4HadronPhysicsQGSP_BERT_HP(
"hadronHP",
true);
95 return new G4StoppingPhysics(
"stopping");
101 return new G4IonPhysics(
"ion");
107 return new G4NeutronTrackingCut(
"Neutron tracking cut", 0);
G4VPhysicsConstructor * Build() const