CMS 3D CMS Logo

HcalUMNioDigi.h
Go to the documentation of this file.
1 #ifndef DATAFORMATS_HCALDIGI_HCALUMNIODIGI_H
2 #define DATAFORMATS_HCALDIGI_HCALUMNIODIGI_H 1
3 
4 #include <vector>
5 #include <cstdint>
6 #include <ostream>
7 
16 public:
17  HcalUMNioDigi();
18  HcalUMNioDigi(const uint16_t* ptr, int words);
19  HcalUMNioDigi(const std::vector<uint16_t>& words);
20 
21  uint32_t runNumber() const;
22  uint32_t orbitNumber() const;
23  uint16_t bunchNumber() const;
24  uint32_t eventNumber() const;
25 
26  uint8_t eventType() const;
27  uint16_t spillCounter() const;
28  bool isSpill() const;
29 
30  bool invalid() const { return (payload_.size() < 16) || (payload_[6] & 0xF000) != 0x2000; }
31 
32  int numberUserWords() const;
33  uint16_t idUserWord(int iword) const;
34  uint32_t valueUserWord(int iword) const;
35  bool hasUserWord(int id) const;
36  uint32_t getUserWord(int id) const;
37  bool getUserWord(int id, uint32_t& value) const;
38 
39 private:
40  std::vector<uint16_t> payload_;
41 };
42 
43 std::ostream& operator<<(std::ostream&, const HcalUMNioDigi&);
44 
45 #endif
bool isSpill() const
uint32_t getUserWord(int id) const
bool invalid() const
Definition: HcalUMNioDigi.h:30
uint32_t eventNumber() const
std::vector< uint16_t > payload_
Definition: HcalUMNioDigi.h:40
uint32_t valueUserWord(int iword) const
uint8_t eventType() const
uint16_t bunchNumber() const
Definition: value.py:1
uint16_t idUserWord(int iword) const
bool hasUserWord(int id) const
std::ostream & operator<<(std::ostream &, const HcalUMNioDigi &)
uint32_t orbitNumber() const
int numberUserWords() const
uint16_t spillCounter() const
uint32_t runNumber() const