Geant4 Cross Reference |
1 // -*- C++ -*- 1 // -*- C++ -*- 2 // 2 // 3 // ------------------------------------------- 3 // ----------------------------------------------------------------------- 4 // HEP Random 4 // HEP Random 5 // --- engineIDulong --- 5 // --- engineIDulong --- 6 // function header fi 6 // function header file 7 // ------------------------------------------- 7 // ----------------------------------------------------------------------- 8 8 9 // Class generating new engines from streamed 9 // Class generating new engines from streamed saves. 10 10 11 // =========================================== 11 // ======================================================================= 12 // M Fischler - Created: Mar. 8, 2005 12 // M Fischler - Created: Mar. 8, 2005 13 // =========================================== 13 // ======================================================================= 14 14 15 #ifndef engineIDulong_h 15 #ifndef engineIDulong_h 16 #define engineIDulong_h 1 16 #define engineIDulong_h 1 17 17 18 #include <string> 18 #include <string> 19 19 20 namespace CLHEP { 20 namespace CLHEP { 21 21 22 unsigned long crc32ul(const std::string & s); 22 unsigned long crc32ul(const std::string & s); 23 23 24 template <class E> 24 template <class E> 25 unsigned long engineIDulong() { 25 unsigned long engineIDulong() { 26 static const unsigned long id = crc32ul(E::e 26 static const unsigned long id = crc32ul(E::engineName()); 27 return id; 27 return id; 28 } 28 } 29 29 30 } // namespace CLHEP 30 } // namespace CLHEP 31 31 32 #endif 32 #endif 33 33 34 34