1 #ifndef DDG4_PLUGINS_GEANT4_10_PHYSICSCONSTRUCTORS_H
2 #define DDG4_PLUGINS_GEANT4_10_PHYSICSCONSTRUCTORS_H
18 #include <G4EmStandardPhysics_option1.hh>
20 #include <G4EmStandardPhysics_option2.hh>
22 #include <G4EmStandardPhysics_option3.hh>
24 #include <G4EmStandardPhysics.hh>
26 #include <G4EmStandardPhysicsSS.hh>
28 #include <G4EmStandardPhysicsWVI.hh>
30 #include <G4EmExtraPhysics.hh>
32 #include <G4EmDNAPhysics.hh>
34 #include <G4EmLowEPPhysics.hh>
36 #include <G4EmLivermorePhysics.hh>
38 #include <G4ChargeExchangePhysics.hh>
40 #include <G4GenericBiasingPhysics.hh>
43 #include <G4HadronDElasticPhysics.hh>
45 #include <G4HadronElasticPhysics.hh>
47 #include <G4HadronElasticPhysicsHP.hh>
49 #include <G4HadronElasticPhysicsLEND.hh>
51 #include <G4HadronElasticPhysicsPHP.hh>
53 #include <G4HadronElasticPhysicsXS.hh>
55 #include <G4HadronHElasticPhysics.hh>
57 #include <G4HadronPhysicsFTF_BIC.hh>
59 #include <G4HadronPhysicsFTFP_BERT.hh>
61 #include <G4HadronPhysicsFTFP_BERT_HP.hh>
63 #include <G4HadronPhysicsFTFP_BERT_TRV.hh>
65 #include <G4HadronPhysicsINCLXX.hh>
67 #include <G4HadronPhysicsNuBeam.hh>
69 #include <G4HadronPhysicsQGS_BIC.hh>
71 #include <G4HadronPhysicsQGSP_BERT.hh>
73 #include <G4HadronPhysicsQGSP_BERT_HP.hh>
75 #include <G4HadronPhysicsQGSP_BIC_AllHP.hh>
77 #include <G4HadronPhysicsQGSP_FTFP_BERT.hh>
79 #include <G4HadronPhysicsShielding.hh>
84 #include <G4IonBinaryCascadePhysics.hh>
86 #include <G4IonElasticPhysics.hh>
89 #include <G4IonINCLXXPhysics.hh>
91 #include <G4IonPhysics.hh>
93 #include <G4IonQMDPhysics.hh>
96 #include <G4RadioactiveDecayPhysics.hh>
98 #include <G4StepLimiterPhysics.hh>
100 #include <G4StoppingPhysics.hh>
103 #include <G4NeutronTrackingCut.hh>
107 #include <G4OpticalPhysics.hh>
111 #include <G4FastSimulationPhysics.hh>
115 #include <G4Channeling.hh>
116 #include <G4ProcessManager.hh>
127 Geant4ChannelingPhysics() =
default;
128 virtual ~Geant4ChannelingPhysics() =
default;
129 virtual void ConstructParticle() {}
130 virtual void ConstructProcess() {
131 G4Channeling* channeling =
new G4Channeling();
132 auto* iter = G4ParticleTable::GetParticleTable()->GetIterator();
136 G4ParticleDefinition* p = iter->value();
137 G4double charge = p->GetPDGCharge();
139 G4ProcessManager* m = p->GetProcessManager();
140 m->AddDiscreteProcess(channeling);