CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FRDEventMessage.cc
Go to the documentation of this file.
1 
13 
18  : buf_((uint8*)buf),
19  payload_(0),
20  size_(0),
21  version_(0),
22  run_(0),
23  lumi_(0),
24  event_(0),
25  eventSize_(0),
26  paddingSize_(0),
27  adler32_(0)
28 {
29  uint32* bufPtr = static_cast<uint32*>(buf);
30  version_ = *bufPtr;
31  // if the version number is rather large, then we assume that the true
32  // version number is one. (In version one of the format, there was
33  // no version number in the data, and the run number appeared first.)
34  if (version_ >= 32) {
35  version_ = 1;
36  }
37 
38  size_ = 0;
39 
40  // version number
41  if (version_ >= 2) {
42  size_ += sizeof(uint32);
43  ++bufPtr;
44  }
45 
46  // run number
47  run_ = *bufPtr;
48  size_ += sizeof(uint32);
49  ++bufPtr;
50 
51  // lumi number
52  if (version_ >= 2) {
53  lumi_ = *bufPtr;
54  size_ += sizeof(uint32);
55  ++bufPtr;
56  }
57 
58  // event number
59  if (version_ >= 4) {
60  uint64 eventLow = *bufPtr;
61  size_ += sizeof(uint32);
62  ++bufPtr;
63 
64  uint64 eventHigh = *bufPtr;
65  size_ += sizeof(uint32);
66  ++bufPtr;
67 
68  event_ = (eventHigh << 32) | eventLow;
69 
70  } else {
71  event_ = *bufPtr;
72  size_ += sizeof(uint32);
73  ++bufPtr;
74  }
75 
76  if (version_ >= 3) {
77  // event size
78  eventSize_ = *bufPtr;
79  size_ += sizeof(uint32) + eventSize_;
80  ++bufPtr;
81 
82  // padding size
83  paddingSize_ = *bufPtr;
84  size_ += sizeof(uint32) + paddingSize_;
85  ++bufPtr;
86 
87  // adler32
88  adler32_ = *bufPtr;
89  size_ += sizeof(uint32);
90  ++bufPtr;
91  }
92  else {
93  for (int idx = 0; idx < 1024; idx++) {
94  size_ += sizeof(uint32); // FED N size
95  size_ += *bufPtr; // FED N data
96  eventSize_ += *bufPtr;
97  ++bufPtr;
98  }
99  }
100 
101  payload_ = (void*)bufPtr;
102 }
ULong64_t uint64
FRDEventMsgView(void *buf)
unsigned int uint32
Definition: MsgTools.h:13
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
unsigned char uint8
Definition: MsgTools.h:11
void event_()
size_(0)
Definition: OwnArray.h:181