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" 32 G4VPhysicsConstructor*
35 return new G4EmStandardPhysics(0);
39 G4VPhysicsConstructor*
42 return new G4EmExtraPhysics(
"extra EM");
46 G4VPhysicsConstructor*
49 return new G4ChargeExchangePhysics(2);
53 G4VPhysicsConstructor*
56 return new G4DecayPhysics(
"Decay", 0);
61 G4VPhysicsConstructor*
64 return new G4HadronElasticPhysics(0);
69 G4VPhysicsConstructor*
72 return new G4HadronElasticPhysicsHP(0);
77 G4VPhysicsConstructor*
80 return new G4HadronElasticPhysicsPHP(0);
85 G4VPhysicsConstructor*
88 constexpr G4bool quasiElastic{
true};
89 return new G4HadronPhysicsQGSP_BERT(
"hadron", quasiElastic);
94 G4VPhysicsConstructor*
97 return new G4HadronPhysicsQGSP_BERT_HP(
"hadronHP",
true);
101 G4VPhysicsConstructor*
104 return new G4StoppingPhysics(
"stopping");
108 G4VPhysicsConstructor*
111 return new G4IonPhysics(
"ion");
115 G4VPhysicsConstructor*
118 return new G4NeutronTrackingCut(
"Neutron tracking cut", 0);
G4VPhysicsConstructor * Build() const