Loading src/modules/DepositionGeant4/AdditionalPhysicsLists.hpp +5 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,9 @@ #include <G4VModularPhysicsList.hh> #include "MicroElecSiPhysics.hh" #ifdef ALLPIX_PHYSICSLIST_MICROELEC #include <MicroElecSiPhysics.hh> #endif /** * @brief Handler namespace for implementing additional PhysicsLists included in AllPix2 but not in the Loading @@ -29,10 +31,12 @@ namespace allpix::physicslists { */ inline G4VModularPhysicsList* getList(const std::string& list_name) { #ifdef ALLPIX_PHYSICSLIST_MICROELEC if(list_name == "MICROELEC-SIONLY") { // Downcasting from a G4VUserPhysicsList* to a G4VModularPhysicsList return dynamic_cast<G4VModularPhysicsList*>(new MicroElecSiPhysics()); } #endif return nullptr; } Loading src/modules/DepositionGeant4/CMakeLists.txt +5 −2 Original line number Diff line number Diff line Loading @@ -22,7 +22,8 @@ ALLPIX_MODULE_REQUIRE_GEANT4_INTERFACE(${MODULE_NAME} REQUIRED) # If available, add additional physics lists form Geant4: IF(DEFINED ENV{GEANT4_DATA_DIR}) # Set variable to microelectronics example folder SET(GEANT4_EXAMPLES_DIR $ENV{GEANT4_DATA_DIR}/../examples) SET(G4_EXAMPLES "$ENV{GEANT4_DATA_DIR}/../examples") CMAKE_PATH(ABSOLUTE_PATH G4_EXAMPLES NORMALIZE OUTPUT_VARIABLE GEANT4_EXAMPLES_DIR) ELSE() FIND_PROGRAM(G4CONFIG "geant4-config") IF(G4CONFIG) Loading @@ -36,7 +37,7 @@ ELSE() ENDIF() ENDIF() IF(DEFINED GEANT4_EXAMPLES_DIR) IF(EXISTS ${GEANT4_EXAMPLES_DIR}) MESSAGE(STATUS " Found Geant4 Examples, building add. physics lists") CONFIGURE_FILE( ${GEANT4_EXAMPLES_DIR}/advanced/microelectronics/src/MicroElecSiPhysics.cc ${CMAKE_CURRENT_BINARY_DIR}/ COPYONLY) Loading @@ -51,6 +52,8 @@ IF(DEFINED GEANT4_EXAMPLES_DIR) ${CMAKE_CURRENT_BINARY_DIR}/ElectronCapture.cc PROPERTIES COMPILE_FLAGS -Wno-zero-as-null-pointer-constant) # Add includes from the microelectronics example TARGET_INCLUDE_DIRECTORIES(${MODULE_NAME} SYSTEM PRIVATE ${GEANT4_EXAMPLES_DIR}/advanced/microelectronics/include) TARGET_COMPILE_DEFINITIONS(${MODULE_NAME} PRIVATE ALLPIX_PHYSICSLIST_MICROELEC) ENDIF() # Register module tests Loading Loading
src/modules/DepositionGeant4/AdditionalPhysicsLists.hpp +5 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,9 @@ #include <G4VModularPhysicsList.hh> #include "MicroElecSiPhysics.hh" #ifdef ALLPIX_PHYSICSLIST_MICROELEC #include <MicroElecSiPhysics.hh> #endif /** * @brief Handler namespace for implementing additional PhysicsLists included in AllPix2 but not in the Loading @@ -29,10 +31,12 @@ namespace allpix::physicslists { */ inline G4VModularPhysicsList* getList(const std::string& list_name) { #ifdef ALLPIX_PHYSICSLIST_MICROELEC if(list_name == "MICROELEC-SIONLY") { // Downcasting from a G4VUserPhysicsList* to a G4VModularPhysicsList return dynamic_cast<G4VModularPhysicsList*>(new MicroElecSiPhysics()); } #endif return nullptr; } Loading
src/modules/DepositionGeant4/CMakeLists.txt +5 −2 Original line number Diff line number Diff line Loading @@ -22,7 +22,8 @@ ALLPIX_MODULE_REQUIRE_GEANT4_INTERFACE(${MODULE_NAME} REQUIRED) # If available, add additional physics lists form Geant4: IF(DEFINED ENV{GEANT4_DATA_DIR}) # Set variable to microelectronics example folder SET(GEANT4_EXAMPLES_DIR $ENV{GEANT4_DATA_DIR}/../examples) SET(G4_EXAMPLES "$ENV{GEANT4_DATA_DIR}/../examples") CMAKE_PATH(ABSOLUTE_PATH G4_EXAMPLES NORMALIZE OUTPUT_VARIABLE GEANT4_EXAMPLES_DIR) ELSE() FIND_PROGRAM(G4CONFIG "geant4-config") IF(G4CONFIG) Loading @@ -36,7 +37,7 @@ ELSE() ENDIF() ENDIF() IF(DEFINED GEANT4_EXAMPLES_DIR) IF(EXISTS ${GEANT4_EXAMPLES_DIR}) MESSAGE(STATUS " Found Geant4 Examples, building add. physics lists") CONFIGURE_FILE( ${GEANT4_EXAMPLES_DIR}/advanced/microelectronics/src/MicroElecSiPhysics.cc ${CMAKE_CURRENT_BINARY_DIR}/ COPYONLY) Loading @@ -51,6 +52,8 @@ IF(DEFINED GEANT4_EXAMPLES_DIR) ${CMAKE_CURRENT_BINARY_DIR}/ElectronCapture.cc PROPERTIES COMPILE_FLAGS -Wno-zero-as-null-pointer-constant) # Add includes from the microelectronics example TARGET_INCLUDE_DIRECTORIES(${MODULE_NAME} SYSTEM PRIVATE ${GEANT4_EXAMPLES_DIR}/advanced/microelectronics/include) TARGET_COMPILE_DEFINITIONS(${MODULE_NAME} PRIVATE ALLPIX_PHYSICSLIST_MICROELEC) ENDIF() # Register module tests Loading