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/G4EmStandardPhysics.hh" 19 #include "Geant4/G4HadronElasticPhysics.hh" 20 #include "Geant4/G4HadronElasticPhysicsHP.hh" 21 #include "Geant4/G4HadronElasticPhysicsPHP.hh" 22 #include "Geant4/G4HadronPhysicsQGSP_BERT.hh" 23 #include "Geant4/G4HadronPhysicsQGSP_BERT_HP.hh" 24 #include "Geant4/G4IonPhysics.hh" 25 #include "Geant4/G4NeutronTrackingCut.hh" 26 #include "Geant4/G4StoppingPhysics.hh" 34 return new G4EmStandardPhysics(0);
40 return new G4EmExtraPhysics(
"extra EM");
46 return new G4ChargeExchangePhysics(2);
52 return new G4DecayPhysics(
"Decay", 0);
59 return new G4HadronElasticPhysics(0);
66 return new G4HadronElasticPhysicsHP(0);
73 return new G4HadronElasticPhysicsPHP(0);
80 constexpr G4bool quasiElastic{
true};
81 return new G4HadronPhysicsQGSP_BERT(
"hadron", quasiElastic);
88 return new G4HadronPhysicsQGSP_BERT_HP(
"hadronHP",
true);
94 return new G4StoppingPhysics(
"stopping");
100 return new G4IonPhysics(
"ion");
106 return new G4NeutronTrackingCut(
"Neutron tracking cut", 0);
G4VPhysicsConstructor * Build() const