CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FEDTrailer.cc
Go to the documentation of this file.
1 
9 #include "fed_trailer.h"
10 
11 FEDTrailer::FEDTrailer(const unsigned char* trailer) :
12  theTrailer(reinterpret_cast<const fedt_t*>(trailer)) {}
13 
14 
16 
17 
18 
21 }
22 
23 
26 }
27 
28 
31 }
32 
33 
36 }
37 
38 
40  return ((theTrailer->conscheck & FED_MORE_TRAILERS)!=0);
41 }
42 
43 
44 void FEDTrailer::set(unsigned char* trailer,
45  int evt_lgth,
46  int crc,
47  int evt_stat,
48  int tts,
49  bool T){
50  // FIXME: should check that input ranges are OK!!!
51  fedt_t* t = reinterpret_cast<fedt_t*>(trailer);
52 
53  t->eventsize =
54  FED_TCTRLID |
55  evt_lgth << FED_EVSZ_SHIFT;
56 
57  t->conscheck =
58  crc << FED_CRCS_SHIFT |
59  evt_stat << FED_STAT_SHIFT |
60  tts << FED_TTSI_SHIFT;
61 
62  if (T) t->conscheck |= FED_MORE_TRAILERS;
63 }
64 
65 
67  // ...may report with finer detail
68  bool result = true;
70 
71  return result;
72 }
bool check()
Definition: FEDTrailer.cc:66
#define FED_TCTRLID_MASK
Definition: fed_trailer.h:37
int evtStatus()
Event fragment status information.
Definition: FEDTrailer.cc:29
virtual ~FEDTrailer()
Destructor.
Definition: FEDTrailer.cc:15
bool moreTrailers()
Definition: FEDTrailer.cc:39
const fedt_struct * theTrailer
Definition: FEDTrailer.h:52
static void set(unsigned char *trailer, int evt_lgth, int crc, int evt_stat, int tts, bool T=false)
Set all fields in the trailer.
Definition: FEDTrailer.cc:44
unsigned int conscheck
Definition: fed_trailer.h:32
#define FED_TTSI_MASK
Definition: fed_trailer.h:42
#define FED_TTSI_SHIFT
Definition: fed_trailer.h:53
tuple result
Definition: query.py:137
#define FED_MORE_TRAILERS
Definition: fed_trailer.h:43
#define FED_CRCS_SHIFT
Definition: fed_trailer.h:51
#define FED_TCTRLID
Definition: fed_trailer.h:46
int ttsBits()
Current value of the Trigger Throttling System bitsAQ).
Definition: FEDTrailer.cc:34
int lenght()
The length of the event fragment counted in 64-bit words including header and trailer.
Definition: FEDTrailer.cc:19
#define FED_CRCS_MASK
Definition: fed_trailer.h:40
string const
Definition: compareJSON.py:14
#define FED_STAT_SHIFT
Definition: fed_trailer.h:52
unsigned int eventsize
Definition: fed_trailer.h:33
#define FED_EVSZ_SHIFT
Definition: fed_trailer.h:49
#define FED_EVSZ_MASK
Definition: fed_trailer.h:38
int crc()
Cyclic Redundancy Code of the event fragment including header and trailer.
Definition: FEDTrailer.cc:24
FEDTrailer(const unsigned char *trailer)
Constructor.
Definition: FEDTrailer.cc:11
#define FED_STAT_MASK
Definition: fed_trailer.h:41
long double T