CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EBSrFlag.h
Go to the documentation of this file.
1 // -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: t; tab-width: 8; -*-
2 
3 #ifndef EBSRFLAG_H
4 #define EBSRFLAG_H
5 
9 
13 class EBSrFlag : public EcalSrFlag {
14 public:
15  typedef EcalTrigTowerDetId key_type; //key for edm::SortedCollection
16 
17 public:
20  EBSrFlag(){};
21 
26  EBSrFlag(const EcalTrigTowerDetId& tt, const int& flag) : ttId_(tt) {
27  //SRP flag is coded on 3 bits:
28  if (flag < 0 || flag > 0x7)
29  throw cms::Exception("InvalidValue", "srp flag greater than 0x7 or negative.");
30  flag_ = (unsigned char)flag;
31  }
32 
36  const EcalTrigTowerDetId& id() const override { return ttId_; }
37 
38 private:
42 };
43 
44 std::ostream& operator<<(std::ostream& s, const EBSrFlag& digi);
45 
46 #endif //EBSRFLAG_H not defined
unsigned char flag_
Definition: EcalSrFlag.h:70
EBSrFlag()
Definition: EBSrFlag.h:20
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:167
EcalTrigTowerDetId key_type
Definition: EBSrFlag.h:15
EcalTrigTowerDetId ttId_
Definition: EBSrFlag.h:41
const EcalTrigTowerDetId & id() const override
Definition: EBSrFlag.h:36
EBSrFlag(const EcalTrigTowerDetId &tt, const int &flag)
Definition: EBSrFlag.h:26