CMS 3D CMS Logo

CastorTriggerPrimitiveDigi.h
Go to the documentation of this file.
1 #ifndef CASTORTRIGGERPRIMITIVEDIGI_H
2 #define CASTORTRIGGERPRIMITIVEDIGI_H 1
3 
4 #include <ostream>
5 #include <vector>
8 
14 public:
16 
17  CastorTriggerPrimitiveDigi(); // for persistence
18  explicit CastorTriggerPrimitiveDigi(const HcalCastorDetId& id);
19 
20  const HcalCastorDetId& 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() const { return t0().fineGrain(); }
39  int SOI_compressedEt() const { return t0().compressedEt(); }
40 
41  int tpchannel(int i) const { return ( ( data_[i].raw() & 0xf800 ) >> 11 ); }
42  int tpdata(int i) const { return ( data_[i].raw() & 0x01ff ); }
43  bool isSOI(int i ) const { return ( ( data_[i].raw() & 0x0200 ) == 0x0200 ) ; }
44  int SOI_tpchannel() const { return ( ( data_[presamples()].raw() & 0xf800 ) >> 11 ); }
45  int SOI_tpdata() const { return ( data_[presamples()].raw() & 0x01ff ); }
46 
47  void setSize(int size);
48  void setPresamples(int ps);
49  void setSample(int i, const HcalTriggerPrimitiveSample& sam) { data_[i]=sam; }
50 
51  static const int MAXSAMPLES = 10;
52 private:
54  int size_;
57 };
58 
59 std::ostream& operator<<(std::ostream& s, const CastorTriggerPrimitiveDigi& digi);
60 
61 
62 #endif
std::ostream & operator<<(std::ostream &s, const CastorTriggerPrimitiveDigi &digi)
bool fineGrain(int i=0) const
get fine-grain bit (traditional)
bool zsUnsuppressed() const
was ZS unsuppressed?
HcalCastorDetId key_type
For the sorted collection.
const HcalCastorDetId & id() const
void setSample(int i, const HcalTriggerPrimitiveSample &sam)
HcalTriggerPrimitiveSample data_[MAXSAMPLES]
int SOI_compressedEt() const
Compressed ET for the "Sample of Interest".
bool zsMarkAndPass() const
was ZS MarkAndPass?
const HcalTriggerPrimitiveSample & operator[](int i) const
const HcalTriggerPrimitiveSample & t0() const
Full "Sample of Interest".
void setZSInfo(bool unsuppressed, bool markAndPass)
const HcalTriggerPrimitiveSample & sample(int i) const
int compressedEt() const
get the encoded/compressed Et
bool SOI_fineGrain() const
Fine-grain bit for the "Sample of Interest".