Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 10:26:00

0001 /// \file Config.h
0002 /// \author Ben Morgan (Ben.Morgan@warwick.ac.uk)
0003 
0004 #ifndef VECGEOM_BASE_CONFIG_H_
0005 #define VECGEOM_BASE_CONFIG_H_
0006 
0007 // Scalar/Vector Backend (only one can be defined)
0008 #define VECGEOM_SCALAR
0009 /* #undef VECGEOM_VC */
0010 /* #undef VECGEOM_SINGLE_PRECISION */
0011 #ifdef VECGEOM_SINGLE_PRECISION
0012 #define VECGEOM_FLOAT_PRECISION
0013 #endif
0014 
0015 // Other symbols that are added to VECGEOM_DEFINITIONS, and their activation rule
0016 
0017 // CUDA Settings
0018 // When CUDA is ON
0019 /* #undef VECGEOM_ENABLE_CUDA */
0020 // When CUDA_VOLUME_SPECIALIZATION) is ON (NB: the _NO_ version must be defined otherwise)
0021 /* #undef VECGEOM_CUDA_VOLUME_SPECIALIZATION */
0022 #ifndef VECGEOM_CUDA_VOLUME_SPECIALIZATION
0023 #define VECGEOM_CUDA_NO_VOLUME_SPECIALIZATION
0024 #endif
0025 
0026 // When QUADRILATERAL_ACCELERATION is ON (Maybe a VC dependence as well?)
0027 // Also, *seems* to only affect template functions in headers, so maybe choice is deferred?
0028 #define VECGEOM_QUADRILATERAL_ACCELERATION
0029 #ifdef VECGEOM_QUADRILATERAL_ACCELERATION
0030 #define VECGEOM_QUADRILATERALS_VC
0031 #endif
0032 
0033 // When NO_SPECIALIZATION is ON
0034 // Pretty clear this affects API and ABI
0035 #define VECGEOM_NO_SPECIALIZATION
0036 
0037 // Both of the following are API and ABI
0038 // Nb: for volume conversion part, *might* be possible to isolate in separate library?
0039 // When ROOT is ON
0040 /* #undef VECGEOM_ROOT */
0041 
0042 // When Geant4 is ON
0043 /* #undef VECGEOM_GEANT4 */
0044 
0045 // When EMBREE is ON
0046 // API/ABI, though relatively localized to VecGeom/volumes/TessellatedStruct.h
0047 /* #undef VECGEOM_EMBREE */
0048 
0049 // Volume related...
0050 // When INPLACE_TRANSFORMATIONS is ON
0051 #define VECGEOM_INPLACE_TRANSFORMATIONS
0052 
0053 // Defined when PLANESHELL is OFF
0054 #define VECGEOM_PLANESHELL
0055 #ifndef VECGEOM_PLANESHELL
0056 #define VECGEOM_PLANESHELL_DISABLE
0057 #endif
0058 
0059 // Navigation related...
0060 // When USE_CACHED_TRANSFORMATIONS is ON
0061 /* #undef VECGEOM_USE_CACHED_TRANSFORMATIONS */
0062 #ifdef VECGEOM_USE_CACHED_TRANSFORMATIONS 
0063 #define VECGEOM_CACHED_TRANS
0064 #endif
0065 
0066 // When USE_INDEXEDNAVSTATES is ON
0067 #define VECGEOM_USE_INDEXEDNAVSTATES
0068 
0069 // When USE_NAVINDEX is ON
0070 /* #undef VECGEOM_USE_NAVINDEX */
0071 
0072 // Testing, debugging, profiling...
0073 // When DISTANCE_DEBUG is ON
0074 /* #undef VECGEOM_DISTANCE_DEBUG */
0075 
0076 // When VTUNE is ON
0077 /* #undef VECGEOM_TEST_VTUNE */
0078 
0079 // When GDML id ON
0080 #define VECGEOM_GDML
0081 
0082 #endif