AllPhysicsLists.h
Go to the documentation of this file.
1 #ifndef larsim_LegacyLArG4_AllPhysicsLists_h
2 #define larsim_LegacyLArG4_AllPhysicsLists_h
3 
4 // Register physics lists so that they can be loaded for use. See the
5 // section "Using Custom Physics Modules" on the web page
6 // http://cdcvs.fnal.gov/redmine/projects/larsoft/wiki/LArG4 for more
7 // details.
8 
13 namespace detinfo {
14  class DetectorPropertiesData;
15 }
16 
17 namespace larg4 {
19  public:
20  explicit AllPhysicsLists(detinfo::DetectorPropertiesData const& detProp);
21 
22  private:
23  template <typename T>
25 
26  // G4 built-in lists
27  Factory_t<G4ChargeExchangePhysics> fChargeExchange{"ChargeExchange"};
28  Factory_t<G4DecayPhysics> fDecayPhysics{"Decay"};
29  Factory_t<G4EmExtraPhysics> fSynchrotronAndGN{"SynchrotronAndGN"};
30  Factory_t<G4EmLivermorePhysics> fLowEnergyEm{"LowEnergyEm"};
32  Factory_t<G4HadronElasticPhysics> fHadronElasticPhysics{"HadronElastic"};
33  Factory_t<G4HadronElasticPhysicsHP> fHadronElasticHPPhysics{"HadronElasticHP"};
34  Factory_t<G4HadronElasticPhysicsPHP> fHadronElasticPHPPhysics{"HadronElasticPHP"};
35  Factory_t<G4HadronPhysicsQGSP_BERT> fHadronPhysics{"Hadron"};
36  Factory_t<G4HadronPhysicsQGSP_BERT_HP> fHadronHPPhysics{"HadronHP"};
37  Factory_t<G4IonPhysics> fIonPhysics{"Ion"};
38  Factory_t<G4NeutronTrackingCut> fNeutronTrackingCut{"NeutronTrackingCut"};
39  Factory_t<G4StoppingPhysics> fStoppingPhysics{"Stopping"};
40 
41  // LArSoft lists
42  Factory_t<FastOpticalPhysics> fFastOpticalPhysics{"FastOptical"};
43  Factory_t<NeutronHPphysics> fNeutronHPPhysics{"NeutronHP"};
45  };
46 }
47 
48 #endif
Geant4 interface.
Factory_t< OpticalPhysics > fOpticalPhysics
General LArSoft Utilities.
High precision neutron physics constructor for Geant4.