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