Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-03-13 08:20:09

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 // Geant 4 include files
0018 #include <G4Version.hh>
0019 #include <G4ExplicitEuler.hh>
0020 #include <G4ImplicitEuler.hh>
0021 #include <G4SimpleRunge.hh>
0022 #include <G4SimpleHeum.hh>
0023 #include <G4ClassicalRK4.hh>
0024 #include <G4ConstRK4.hh>
0025 #include <G4CashKarpRKF45.hh>
0026 
0027 DECLARE_GEANT4_STEPPER(ImplicitEuler)
0028 DECLARE_GEANT4_STEPPER(ExplicitEuler)
0029 DECLARE_GEANT4_STEPPER(SimpleRunge)
0030 DECLARE_GEANT4_STEPPER(SimpleHeum)
0031 DECLARE_GEANT4_MAGSTEPPER(ConstRK4)
0032 DECLARE_GEANT4_STEPPER(ClassicalRK4)
0033 DECLARE_GEANT4_STEPPER(CashKarpRKF45)
0034 
0035 #if G4VERSION_NUMBER >=1030
0036 #include <G4DoLoMcPriRK34.hh>
0037 #include <G4DormandPrince745.hh>
0038 #include <G4DormandPrinceRK56.hh>
0039 #include <G4DormandPrinceRK78.hh>
0040 #include <G4BogackiShampine23.hh>
0041 #include <G4BogackiShampine45.hh>
0042 DECLARE_GEANT4_STEPPER(DoLoMcPriRK34)
0043 DECLARE_GEANT4_STEPPER(DormandPrince745)
0044 DECLARE_GEANT4_STEPPER(DormandPrinceRK56)
0045 DECLARE_GEANT4_STEPPER(DormandPrinceRK78)
0046 DECLARE_GEANT4_STEPPER(BogackiShampine23)
0047 DECLARE_GEANT4_STEPPER(BogackiShampine45)
0048 #endif
0049 
0050 // Geant 4 include files
0051 #include <G4MagHelicalStepper.hh>
0052 #include <G4HelixExplicitEuler.hh>
0053 #include <G4HelixImplicitEuler.hh>
0054 #include <G4HelixMixedStepper.hh>
0055 #include <G4HelixSimpleRunge.hh>
0056 #include <G4HelixHeum.hh>
0057 
0058 DECLARE_GEANT4_MAGSTEPPER(HelixImplicitEuler)
0059 DECLARE_GEANT4_MAGSTEPPER(HelixExplicitEuler)
0060 DECLARE_GEANT4_MAGSTEPPER(HelixMixedStepper)
0061 DECLARE_GEANT4_MAGSTEPPER(HelixSimpleRunge)
0062 DECLARE_GEANT4_MAGSTEPPER(HelixHeum)
0063 
0064 #if G4VERSION_NUMBER>=1020
0065 #include <G4NystromRK4.hh>
0066 #include <G4RKG3_Stepper.hh>
0067 DECLARE_GEANT4_MAGSTEPPER(RKG3_Stepper)
0068 DECLARE_GEANT4_MAGSTEPPER(NystromRK4)
0069 #endif
0070 
0071 // Geant 4 include files
0072 #include <G4Mag_EqRhs.hh>
0073 #include <G4Mag_SpinEqRhs.hh>
0074 #include <G4Mag_UsualEqRhs.hh>
0075 #include <G4KM_OpticalEqRhs.hh>
0076 #include <G4KM_NucleonEqRhs.hh>
0077 //Virtual: DECLARE_GEANT4_MAGMOTION(Mag_EqRhs);
0078 DECLARE_GEANT4_MAGMOTION(Mag_SpinEqRhs)
0079 DECLARE_GEANT4_MAGMOTION(Mag_UsualEqRhs)
0080 //DECLARE_GEANT4_MAGMOTION(KM_OpticalEqRhs);
0081 //DECLARE_GEANT4_MAGMOTION(KM_NucleonEqRhs);
0082 
0083 #if 0 // G4VERSION_NUMBER>=1002
0084 // Undefined factories !!!
0085 #include <G4MonopoleEq.hh>
0086 #include <G4EqEMFieldWithEDM.hh>
0087 #include <G4EqEMFieldWithSpin.hh>
0088 #include <G4EqGravityField.hh>
0089 #include <G4EqMagElectricField.hh>
0090 
0091 // G4EquationOfMotion*(G4UniformGravityField*)
0092 DECLARE_GEANT4_MAGMOTION(EqGravityField)
0093 // G4EquationOfMotion*(G4ElectroMagneticField*)
0094 DECLARE_GEANT4_MAGMOTION(MonopoleEq)
0095 DECLARE_GEANT4_MAGMOTION(EqMagElectricField)
0096 DECLARE_GEANT4_MAGMOTION(EqEMFieldWithEDM)
0097 DECLARE_GEANT4_MAGMOTION(EqEMFieldWithSpin)
0098 #endif