Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:14:20

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 
0014 // Framework include files
0015 #include <DDG4/Factories.h>
0016 
0017 // Geant4 physics lists
0018 #include <G4Version.hh>
0019 
0020 #if G4VERSION_NUMBER>=960
0021 #define GEANT4_9_6
0022 #endif
0023 
0024 // ======================================================================
0025 // Predefined physics processes to be attached to particles
0026 //
0027 //  Usage:
0028 //
0029 //  <physicslist name="Geant4PhysicsList/MyPhysics.0">
0030 //    <processes>
0031 //      <particle name="e[+-]" cut="1*mm">
0032 //        <process name="G4eMultipleScattering" ordAtRestDoIt="-1" ordAlongSteptDoIt="1" ordPostStepDoIt="1"/>
0033 //        <process name="G4eIonisation"         ordAtRestDoIt="-1" ordAlongSteptDoIt="2" ordPostStepDoIt="2"/>
0034 //      </particle>
0035 //    </processes>
0036 //  </physicslist>
0037 //
0038 //
0039 // ======================================================================
0040 
0041 // Fast simulation
0042 #include <G4FastSimulationManagerProcess.hh>
0043 DECLARE_GEANT4_PROCESS(G4FastSimulationManagerProcess)
0044 
0045 // Photon Processes:
0046 #include <G4GammaConversion.hh>
0047 DECLARE_GEANT4_PROCESS(G4GammaConversion)
0048 #include <G4PhotoElectricEffect.hh>
0049 DECLARE_GEANT4_PROCESS(G4PhotoElectricEffect)
0050 #include <G4ComptonScattering.hh>
0051 DECLARE_GEANT4_PROCESS(G4ComptonScattering)
0052 #include <G4RayleighScattering.hh>
0053 DECLARE_GEANT4_PROCESS(G4RayleighScattering)
0054 #include <G4GammaConversionToMuons.hh>
0055 DECLARE_GEANT4_PROCESS(G4GammaConversionToMuons)
0056 
0057 // Electron/positron processes
0058 #include <G4eIonisation.hh>
0059 DECLARE_GEANT4_PROCESS(G4eIonisation)
0060 #include <G4eBremsstrahlung.hh>
0061 DECLARE_GEANT4_PROCESS(G4eBremsstrahlung)
0062 #include <G4eMultipleScattering.hh>
0063 DECLARE_GEANT4_PROCESS(G4eMultipleScattering)
0064 #include <G4eplusAnnihilation.hh>
0065 DECLARE_GEANT4_PROCESS(G4eplusAnnihilation)
0066 #include <G4AnnihiToMuPair.hh>
0067 DECLARE_GEANT4_PROCESS(G4AnnihiToMuPair)
0068 #include <G4eeToHadrons.hh>
0069 DECLARE_GEANT4_PROCESS(G4eeToHadrons)
0070 
0071 // Muon processes
0072 #include <G4MuIonisation.hh>
0073 DECLARE_GEANT4_PROCESS(G4MuIonisation)
0074 #include <G4MuBremsstrahlung.hh>
0075 DECLARE_GEANT4_PROCESS(G4MuBremsstrahlung)
0076 #include <G4MuPairProduction.hh>
0077 DECLARE_GEANT4_PROCESS(G4MuPairProduction)
0078 #include <G4MuMultipleScattering.hh>
0079 DECLARE_GEANT4_PROCESS(G4MuMultipleScattering)
0080 
0081 // Hadron/ion processes
0082 #include <G4hIonisation.hh>
0083 DECLARE_GEANT4_PROCESS(G4hIonisation)
0084 #include <G4ionIonisation.hh>
0085 DECLARE_GEANT4_PROCESS(G4ionIonisation)
0086 #include <G4hhIonisation.hh>
0087 DECLARE_GEANT4_PROCESS(G4hhIonisation)
0088 #include <G4mplIonisation.hh>
0089 DECLARE_GEANT4_PROCESS(G4mplIonisation)
0090 #include <G4hMultipleScattering.hh>
0091 DECLARE_GEANT4_PROCESS(G4hMultipleScattering)
0092 #include <G4hBremsstrahlung.hh>
0093 DECLARE_GEANT4_PROCESS(G4hBremsstrahlung)
0094 #include <G4hPairProduction.hh>
0095 DECLARE_GEANT4_PROCESS(G4hPairProduction)
0096 
0097 // Coulomb scattering
0098 #include <G4CoulombScattering.hh>
0099 DECLARE_GEANT4_PROCESS(G4CoulombScattering)
0100 
0101 // Processes for simulation of polarized electron and gamma beams
0102 #include <G4PolarizedCompton.hh>
0103 DECLARE_GEANT4_PROCESS(G4PolarizedCompton)
0104 #include <G4PolarizedGammaConversion.hh>
0105 DECLARE_GEANT4_PROCESS(G4PolarizedGammaConversion)
0106 #include <G4ePairProduction.hh>
0107 DECLARE_GEANT4_PROCESS(G4ePairProduction)
0108 
0109 #if G4VERSION_NUMBER < 1100
0110 #include <G4PolarizedPhotoElectricEffect.hh>
0111 DECLARE_GEANT4_PROCESS(G4PolarizedPhotoElectricEffect)
0112 #include <G4ePolarizedBremsstrahlung.hh>
0113 DECLARE_GEANT4_PROCESS(G4ePolarizedBremsstrahlung)
0114 #include <G4ePolarizedIonisation.hh>
0115 DECLARE_GEANT4_PROCESS(G4ePolarizedIonisation)
0116 #include <G4eplusPolarizedAnnihilation.hh>
0117 DECLARE_GEANT4_PROCESS(G4eplusPolarizedAnnihilation)
0118 
0119 #else
0120 #include <G4PolarizedAnnihilation.hh>
0121 DECLARE_GEANT4_PROCESS(G4PolarizedAnnihilation)
0122 #include <G4PolarizedAnnihilationXS.hh>
0123 DECLARE_GEANT4_PROCESS(G4PolarizedAnnihilationXS)
0124 #include <G4PolarizedBremsstrahlung.hh>
0125 DECLARE_GEANT4_PROCESS(G4PolarizedBremsstrahlung)
0126 #include <G4PolarizedCompton.hh>
0127 DECLARE_GEANT4_PROCESS(G4PolarizedCompton)
0128 #include <G4PolarizedComptonXS.hh>
0129 DECLARE_GEANT4_PROCESS(G4PolarizedComptonXS)
0130 #include <G4PolarizedGammaConversion.hh>
0131 DECLARE_GEANT4_PROCESS(G4PolarizedGammaConversion)
0132 #include <G4PolarizedGammaConversionXS.hh>
0133 DECLARE_GEANT4_PROCESS(G4PolarizedGammaConversionXS)
0134 #include <G4PolarizedIonisation.hh>
0135 DECLARE_GEANT4_PROCESS(G4PolarizedIonisation)
0136 #include <G4PolarizedIonisationBhabhaXS.hh>
0137 DECLARE_GEANT4_PROCESS(G4PolarizedIonisationBhabhaXS)
0138 #include <G4PolarizedIonisationMollerXS.hh>
0139 DECLARE_GEANT4_PROCESS(G4PolarizedIonisationMollerXS)
0140 #include <G4PolarizedPhotoElectric.hh>
0141 DECLARE_GEANT4_PROCESS(G4PolarizedPhotoElectric)
0142 #include <G4PolarizedPhotoElectricXS.hh>
0143 DECLARE_GEANT4_PROCESS(G4PolarizedPhotoElectricXS)
0144 #endif
0145 
0146 // Processes for simulation of X-rays and optical protons production by charged particles
0147 #include <G4SynchrotronRadiation.hh>
0148 DECLARE_GEANT4_PROCESS(G4SynchrotronRadiation)
0149 #include <G4TransitionRadiation.hh>
0150 //DECLARE_GEANT4_PROCESS(G4TransitionRadiation) !!virtual abstract!!
0151 #include <G4Cerenkov.hh>
0152 DECLARE_GEANT4_PROCESS(G4Cerenkov)
0153 #include <G4Scintillation.hh>
0154 DECLARE_GEANT4_PROCESS(G4Scintillation)
0155 
0156 // Others
0157 #include <G4PAIModel.hh>
0158 DECLARE_GEANT4_PROCESS(G4PAIModel)
0159 #include <G4BraggIonGasModel.hh>
0160 DECLARE_GEANT4_PROCESS(G4BraggIonGasModel)
0161 #include <G4BetheBlochIonGasModel.hh>
0162 DECLARE_GEANT4_PROCESS(G4BetheBlochIonGasModel)
0163 #include <G4WentzelVIModel.hh>
0164 DECLARE_GEANT4_PROCESS(G4WentzelVIModel)
0165 
0166 #if G4VERSION_NUMBER < 1000
0167 #include <G4UrbanMscModel93.hh>
0168 DECLARE_GEANT4_PROCESS(G4UrbanMscModel93)
0169 #endif
0170 
0171 #include <G4hImpactIonisation.hh>
0172 DECLARE_GEANT4_PROCESS(G4hImpactIonisation)
0173 
0174 //#include <G4InversePEEffect.hh>
0175 //DECLARE_GEANT4_PROCESS(G4InversePEEffect)
0176 //#include <G4hInverseIonisation.hh>
0177 //DECLARE_GEANT4_PROCESS(G4hInverseIonisation)
0178 //#include <G4IonInverseIonisation.hh>
0179 //DECLARE_GEANT4_PROCESS(G4IonInverseIonisation)
0180 
0181 // ==================================================================================
0182 #if G4VERSION_NUMBER>=960 and G4VERSION_NUMBER<1000
0183 #include <G4UrbanMscModel93.hh>
0184 DECLARE_GEANT4_PROCESS(G4UrbanMscModel93)
0185 // ==================================================================================
0186 #elif G4VERSION_NUMBER>=1000
0187 
0188 // Stuff commented cannot be instantiated!!
0189 
0190 #include <G4AdjointBremsstrahlungModel.hh>
0191 DECLARE_GEANT4_PROCESS(G4AdjointBremsstrahlungModel)
0192 #include <G4AdjointComptonModel.hh>
0193 DECLARE_GEANT4_PROCESS(G4AdjointComptonModel)
0194 #include <G4AdjointeIonisationModel.hh>
0195 DECLARE_GEANT4_PROCESS(G4AdjointeIonisationModel)
0196 #include <G4AdjointIonIonisationModel.hh>
0197 DECLARE_GEANT4_PROCESS(G4AdjointIonIonisationModel)
0198 #include <G4AdjointPhotoElectricModel.hh>
0199 DECLARE_GEANT4_PROCESS(G4AdjointPhotoElectricModel)
0200 #include <G4BetheBlochModel.hh>
0201 DECLARE_GEANT4_PROCESS(G4BetheBlochModel)
0202 #include <G4BetheBlochNoDeltaModel.hh>
0203 DECLARE_GEANT4_PROCESS(G4BetheBlochNoDeltaModel)
0204 #include <G4BetheHeitlerModel.hh>
0205 DECLARE_GEANT4_PROCESS(G4BetheHeitlerModel)
0206 #include <G4BoldyshevTripletModel.hh>
0207 DECLARE_GEANT4_PROCESS(G4BoldyshevTripletModel)
0208 #include <G4BraggIonModel.hh>
0209 DECLARE_GEANT4_PROCESS(G4BraggIonModel)
0210 #include <G4BraggModel.hh>
0211 DECLARE_GEANT4_PROCESS(G4BraggModel)
0212 #include <G4BraggNoDeltaModel.hh>
0213 DECLARE_GEANT4_PROCESS(G4BraggNoDeltaModel)
0214 #include <G4ChipsElasticModel.hh>
0215 DECLARE_GEANT4_PROCESS(G4ChipsElasticModel)
0216 #include <G4DNABornExcitationModel.hh>
0217 DECLARE_GEANT4_PROCESS(G4DNABornExcitationModel)
0218 
0219 #include <G4eBremParametrizedModel.hh>
0220 DECLARE_GEANT4_PROCESS(G4eBremParametrizedModel)
0221 #include <G4eBremsstrahlungRelModel.hh>
0222 DECLARE_GEANT4_PROCESS(G4eBremsstrahlungRelModel)
0223 #include <G4ecpssrBaseKxsModel.hh>
0224 DECLARE_GEANT4_PROCESS(G4ecpssrBaseKxsModel)
0225 #include <G4ecpssrBaseLixsModel.hh>
0226 DECLARE_GEANT4_PROCESS(G4ecpssrBaseLixsModel)
0227 #include <G4ecpssrFormFactorKxsModel.hh>
0228 DECLARE_GEANT4_PROCESS(G4ecpssrFormFactorKxsModel)
0229 //#include <G4ee2KChargedModel.hh>
0230 //DECLARE_GEANT4_PROCESS(G4ee2KChargedModel)
0231 //#include <G4ee2KNeutralModel.hh>
0232 //DECLARE_GEANT4_PROCESS(G4ee2KNeutralModel)
0233 //#include <G4eeTo3PiModel.hh>
0234 //DECLARE_GEANT4_PROCESS(G4eeTo3PiModel)
0235 //#include <G4eeToHadronsModel.hh>
0236 //DECLARE_GEANT4_PROCESS(G4eeToHadronsModel)
0237 #include <G4ecpssrFormFactorLixsModel.hh>
0238 DECLARE_GEANT4_PROCESS(G4ecpssrFormFactorLixsModel)
0239 #include <G4ecpssrFormFactorMixsModel.hh>
0240 DECLARE_GEANT4_PROCESS(G4ecpssrFormFactorMixsModel)
0241 #include <G4EmMultiModel.hh>
0242 DECLARE_GEANT4_PROCESS(G4EmMultiModel)
0243 
0244 #if G4VERSION_NUMBER < 1100
0245 #include <G4ePolarizedBremsstrahlungModel.hh>
0246 DECLARE_GEANT4_PROCESS(G4ePolarizedBremsstrahlungModel)
0247 #else
0248 #include <G4PolarizedBremsstrahlungModel.hh>
0249 DECLARE_GEANT4_PROCESS(G4PolarizedBremsstrahlungModel)
0250 #endif
0251 
0252 #include <G4FTFModel.hh>
0253 DECLARE_GEANT4_PROCESS(G4FTFModel)
0254 #include <G4GoudsmitSaundersonMscModel.hh>
0255 DECLARE_GEANT4_PROCESS(G4GoudsmitSaundersonMscModel)
0256 #include <G4hBremsstrahlungModel.hh>
0257 DECLARE_GEANT4_PROCESS(G4hBremsstrahlungModel)
0258 #include <G4hCoulombScatteringModel.hh>
0259 DECLARE_GEANT4_PROCESS(G4hCoulombScatteringModel)
0260 //#include <G4hNuclearStoppingModel.hh>
0261 //DECLARE_GEANT4_PROCESS(G4hNuclearStoppingModel)
0262 #include <G4hPairProductionModel.hh>
0263 DECLARE_GEANT4_PROCESS(G4hPairProductionModel)
0264 //#include <G4hParametrisedLossModel.hh>
0265 //DECLARE_GEANT4_PROCESS(G4hParametrisedLossModel)
0266 #include <G4ICRU49NuclearStoppingModel.hh>
0267 DECLARE_GEANT4_PROCESS(G4ICRU49NuclearStoppingModel)
0268 #include <G4ICRU73NoDeltaModel.hh>
0269 DECLARE_GEANT4_PROCESS(G4ICRU73NoDeltaModel)
0270 #include <G4ICRU73QOModel.hh>
0271 DECLARE_GEANT4_PROCESS(G4ICRU73QOModel)
0272 //#include <G4INCLIClusteringModel.hh>
0273 //DECLARE_GEANT4_PROCESS(G4INCLIClusteringModel)
0274 //#include <G4INCLIPropagationModel.hh>
0275 //DECLARE_GEANT4_PROCESS(G4INCLIPropagationModel)
0276 //#include <G4INCLStandardPropagationModel.hh>
0277 //DECLARE_GEANT4_PROCESS(G4INCLStandardPropagationModel)
0278 //#include <G4IonChuFluctuationModel.hh>
0279 //DECLARE_GEANT4_PROCESS(G4IonChuFluctuationModel)
0280 
0281 #endif
0282 
0283 #if 0
0284 #include <.hh>
0285 DECLARE_GEANT4_PROCESS()
0286 #endif
0287