Actsfw 6 12 read sim digi adaptions
This is a couple of updates needed for the ML prototype, I also renamed associatedSurface() for parameters to referenceSurface() because that's what they actually are.
Merge request reports
Activity
73 76 virtual const std::vector<std::shared_ptr<const Surface>>& 74 77 surfaces() const = 0; 75 78 79 /// Return the DigitizationModule 80 /// @return optionally the DigitizationModule 81 virtual std::shared_ptr<const DigitizationModule> 112 124 /// @param neighbours are DetectorElementBase objects that are neighbours 113 125 void 114 126 registerNeighbours(std::vector<const DetectorElementBase*>& neighbours) const; 127 115 128 116 129 private: 117 130 mutable std::vector<const DetectorElementBase*> m_binmembers; 118 131 mutable std::vector<const DetectorElementBase*> m_neighbours; 132 119 133 }; 120 134 135 inline std::shared_ptr<const DigitizationModule> 136 DetectorElementBase::digitizationModule() const 137 { 138 return nullptr; Having a default implementation like this makes it easy to forget about adding the method when building a new DetectorElement class. Since we only have two descendants of DetectorElementBase at present, I would propose to remove the default implementation and explicitly add it to all DetectorElements.
Unfortunately my attempt to remove the GCC warnings and CLANG warnings has not worked out, it seems :
// external include(s) #pragma GCC diagnostic push #if defined(__USE_GNU) #pragma GCC diagnostic ignored "-Wmisleading-indentation" #endif #include <Eigen/Dense> #pragma GCC diagnostic pop
has now worked :-( , at least I see the warnings appearing in the GCC jenkins build.
- Resolved by Andreas Salzburger
Jenkins Build FAILUREResults available at: Jenkins [ACTS-MERGE #53]
- Resolved by Andreas Salzburger
- Resolved by Andreas Salzburger
Jenkins Build FAILUREResults available at: Jenkins [ACTS-MERGE #54]
- Resolved by Andreas Salzburger
- Resolved by Andreas Salzburger
- Resolved by Andreas Salzburger
- Resolved by Andreas Salzburger
- Resolved by Andreas Salzburger
16 16 17 17 // external include(s) 18 18 #pragma GCC diagnostic push 19 #if defined(__USE_GNU) 19 20 #pragma GCC diagnostic ignored "-Wmisleading-indentation" 21 #endif 20 22 #include <Eigen/Dense> 21 23 #pragma GCC diagnostic pop I mentioned that in the merge request, I am a bit struggling with that issue. @cgumpert introduced that black in order to avoid a long list of warnings coming from indentation when using gcc. This - however - gives warnings with clang which seems to not know anything about this specific -W option. Actually, this was just a try, but it didn't seem to work anyway (it works for clang to not have warnings, but apparently _USE_GNU is not automatically set ?
Compiler disambiguation can be difficult as clang tries very hard to be gcc. But try this.
#if defined(__GNUC__) && !defined(__clang__) // GCC specific code goes here #endif
Edited by Hadrien Benjamin GraslandLooking around further, it seems that icc also has this bad habit of impersonating gcc. Adding them to the blacklist :)
#if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) // GCC specific code goes here #endif
Edited by Hadrien Benjamin GraslandFor more information, try these resources:
- Predefined GCC macros: https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
- Other compiler identification macros: http://nadeausoftware.com/articles/2012/10/c_c_tip_how_detect_compiler_name_and_version_using_compiler_predefined_macros
Edited by Hadrien Benjamin Grasland
- Resolved by Andreas Salzburger