GEMCoPadDigi

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
#ifndef GEMDigi_GEMCoPadDigi_h
#define GEMDigi_GEMCoPadDigi_h

/** \class GEMCoPadDigi
 *
 * Digi for GEM-CSC trigger copads
 *  
 * \author Sven Dildick
 *
 */

#include "DataFormats/GEMDigi/interface/GEMPadDigi.h"
#include <cstdint>
#include <iosfwd>

class GEMCoPadDigi {
public:
  explicit GEMCoPadDigi(uint8_t roll, GEMPadDigi pad1, GEMPadDigi pad2);
  GEMCoPadDigi();

  bool operator==(const GEMCoPadDigi& digi) const;
  bool operator!=(const GEMCoPadDigi& digi) const;
  bool isValid() const;

  int roll() const { return roll_; }
  int pad(int l) const;
  int bx(int l) const;

  GEMPadDigi first() const { return first_; }
  GEMPadDigi second() const { return second_; }

  void print() const;

private:
  uint8_t roll_;
  GEMPadDigi first_;
  GEMPadDigi second_;
};

std::ostream& operator<<(std::ostream& o, const GEMCoPadDigi& digi);

#endif