CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
L1GlobalTriggerFunctions.cc
Go to the documentation of this file.
1 // this class header
3 
4 // system include files
5 
6 // user include files
8 
9 // methods
10 
11 // factorial function
12 
13 int factorial(int n) { return (n <= 0) ? 1 : (n * factorial(n - 1)); }
14 
15 // hex string to a vector of 64-bit integers
16 bool hexStringToInt64(const std::string &hexString, std::vector<unsigned long long> &vecInt64) {
17  int iVec = 0;
18  size_t initialPos = 0;
19  unsigned long long iValue = 0ULL;
20 
21  do {
22  iValue = 0ULL;
23 
24  if (stringToNumber<unsigned long long>(iValue, hexString.substr(initialPos, 16), std::hex)) {
25  LogTrace("L1GlobalTrigger") << "\n String " << hexString.substr(initialPos, 16) << " converted to hex value 0x"
26  << std::hex << iValue << std::dec << std::endl;
27 
28  vecInt64[iVec] = iValue;
29  } else {
30  LogTrace("L1GlobalTrigger") << "\nstringToNumber failed to convert string " << hexString.substr(initialPos, 16)
31  << std::endl;
32 
33  return false;
34  }
35 
36  initialPos = +16;
37  iVec++;
38  } while (hexString.size() >= (initialPos + 16));
39 
40  return true;
41 }
#define LogTrace(id)
bool hexStringToInt64(const std::string &, std::vector< unsigned long long > &)
int factorial(int n)
factorial function