CSCVDMBTrailerFormat

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
#ifndef EventFilter_CSCRawToDigi_CSCVDMBTrailerFormat_h
#define EventFilter_CSCRawToDigi_CSCVDMBTrailerFormat_h

#include <cassert>
#include <iosfwd>
#include <cstring>  // bzero

class CSCDMBHeader;

class CSCVDMBTrailerFormat {
public:
  virtual ~CSCVDMBTrailerFormat() {}
  /*
  void init() {
    bzero(this, sizeInWords()*2);
  }
*/
  virtual void setEventInformation(const CSCDMBHeader &) = 0;

  virtual unsigned crateID() const = 0;
  virtual unsigned dmbID() const = 0;

  virtual unsigned dmb_l1a() const = 0;
  virtual unsigned dmb_bxn() const = 0;

  virtual unsigned alct_endtimeout() const = 0;
  virtual unsigned tmb_endtimeout() const = 0;
  virtual unsigned cfeb_endtimeout() const = 0;

  virtual unsigned alct_starttimeout() const = 0;
  virtual unsigned tmb_starttimeout() const = 0;
  virtual unsigned cfeb_starttimeout() const = 0;

  virtual unsigned cfeb_movlp() const = 0;
  virtual unsigned dmb_l1pipe() const = 0;

  virtual unsigned alct_empty() const = 0;
  virtual unsigned tmb_empty() const = 0;
  virtual unsigned cfeb_empty() const = 0;

  virtual unsigned alct_half() const = 0;
  virtual unsigned tmb_half() const = 0;
  virtual unsigned cfeb_half() const = 0;

  virtual unsigned alct_full() const = 0;
  virtual unsigned tmb_full() const = 0;
  virtual unsigned cfeb_full() const = 0;

  virtual unsigned crc22() const = 0;
  virtual unsigned crc_lo_parity() const = 0;
  virtual unsigned crc_hi_parity() const = 0;

  virtual unsigned short *data() = 0;
  virtual unsigned short *data() const = 0;

  virtual bool check() const = 0;

  virtual unsigned sizeInWords() const = 0;

  //ostream & operator<<(ostream &, const CSCVDMBTrailerFormat &);
};

#endif