CMS 3D CMS Logo

HcalTriggerPrimitiveDigi.h
Go to the documentation of this file.
1 #ifndef HCALTRIGGERPRIMITIVEDIGI_H
2 #define HCALTRIGGERPRIMITIVEDIGI_H 1
3 
4 #include <ostream>
5 #include <vector>
8 
14 public:
16 
17  HcalTriggerPrimitiveDigi(); // for persistence
18  explicit HcalTriggerPrimitiveDigi(const HcalTrigTowerDetId& id);
19 
20  const HcalTrigTowerDetId& id() const { return id_; }
21  int size() const { return (size_ & 0xF); }
22  int presamples() const { return hcalPresamples_ & 0xF; }
23 
25  bool zsMarkAndPass() const { return (hcalPresamples_ & 0x10); }
27  bool zsUnsuppressed() const { return (hcalPresamples_ & 0x20); }
28 
29  void setZSInfo(bool unsuppressed, bool markAndPass);
30 
31  const HcalTriggerPrimitiveSample& operator[](int i) const { return data_[i]; }
32  const HcalTriggerPrimitiveSample& sample(int i) const { return data_[i]; }
33 
35  const HcalTriggerPrimitiveSample& t0() const { return data_[presamples()]; }
37  bool SOI_fineGrain(int i = 0) const { return t0().fineGrain(i); }
39  int SOI_compressedEt() const { return t0().compressedEt(); }
40 
41  void setSize(int size);
42  void setPresamples(int ps);
43  void setSample(int i, const HcalTriggerPrimitiveSample& sam) { data_[i] = sam; }
44 
45  static const int MAXSAMPLES = 10;
46 
47 private:
49  int size_;
52 };
53 
54 std::ostream& operator<<(std::ostream& s, const HcalTriggerPrimitiveDigi& digi);
55 
56 #endif
bool fineGrain(int i=0) const
get fine-grain bit (traditional)
void setSample(int i, const HcalTriggerPrimitiveSample &sam)
const HcalTriggerPrimitiveSample & t0() const
Full "Sample of Interest".
void setZSInfo(bool unsuppressed, bool markAndPass)
bool zsMarkAndPass() const
was ZS MarkAndPass?
const HcalTriggerPrimitiveSample & operator[](int i) const
bool zsUnsuppressed() const
was ZS unsuppressed?
std::ostream & operator<<(std::ostream &s, const HcalTriggerPrimitiveDigi &digi)
HcalTrigTowerDetId key_type
For the sorted collection.
int SOI_compressedEt() const
Compressed ET for the "Sample of Interest".
const HcalTriggerPrimitiveSample & sample(int i) const
bool SOI_fineGrain(int i=0) const
Fine-grain bit for the "Sample of Interest".
HcalTriggerPrimitiveSample data_[MAXSAMPLES]
int compressedEt() const
get the encoded/compressed Et
const HcalTrigTowerDetId & id() const