CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ESCrcKchipFast.h
Go to the documentation of this file.
1 #ifndef ESCrcKchipFast_H
2 #define ESCrcKchipFast_H
3 
5 
6  private :
7 
8  uint32_t crc;
9 
10  public:
11 
13  init();
14  reset() ;
15  };
16 
17  void init() {
18  crc = 0x0ffff ;
19  }
20 
21  void reset() {
22  crc = 0x0ffff ;
23  } ;
24 
25  void add(unsigned int data) {
26  for (int i=0;i<16;i++)
27  {
28  if ((crc&0x0001) == (data&0x0001))
29  crc=crc>>1;
30  else
31  crc=(crc>>1)^0x8408; // flipped 0x1021;
32  data=(data>>1);
33  }
34  };
35 
36  uint32_t get_crc() {
37  return crc ;
38  };
39 
40  bool isCrcOk(unsigned int crcin=0x0000) {
41  return ((get_crc()==crcin) ? true : false );
42  };
43 
45 
46 };
47 
48 #endif
int i
Definition: DBlmapReader.cc:9
bool isCrcOk(unsigned int crcin=0x0000)
void add(unsigned int data)
uint32_t get_crc()