CMS 3D CMS Logo

EcalDigiCollections.h
Go to the documentation of this file.
1 #ifndef DIGIECAL_ECALDIGICOLLECTION_H
2 #define DIGIECAL_ECALDIGICOLLECTION_H
3 
20 
25 
27 public:
30  explicit EcalDigiCollectionPh2(size_type istride = MAXSAMPLES, int isubdet = 0)
31  : edm::DataFrameContainer(istride, isubdet) {}
33 };
34 
36 public:
40 
43  void push_back(const Digi& digi) { DataFrameContainer::push_back(digi.id(), digi.frame().begin()); }
45  void push_back(id_type iid, data_type const* idata) { DataFrameContainer::push_back(iid, idata); }
46 };
47 
49 public:
51  static const size_type MAXSAMPLES = 10;
52  explicit EcalDigiCollection(size_type istride = MAXSAMPLES, int isubdet = 0)
53  : edm::DataFrameContainer(istride, isubdet) {}
55 };
56 
57 // make edm (and ecal client) happy
59 public:
61  typedef EBDataFrame Digi;
63 
66  void push_back(const Digi& digi) { DataFrameContainer::push_back(digi.id(), digi.frame().begin()); }
68  void push_back(id_type iid, data_type const* idata) { DataFrameContainer::push_back(iid, idata); }
69 };
70 
72 public:
74  typedef EEDataFrame Digi;
76 
79  void push_back(const Digi& digi) { edm::DataFrameContainer::push_back(digi.id(), digi.frame().begin()); }
81  void push_back(id_type iid, data_type const* idata) { DataFrameContainer::push_back(iid, idata); }
82 };
83 
85 public:
87  typedef ESDataFrame Digi;
89 
93 
94  void push_back(unsigned int i) { DataFrameContainer::push_back(i); }
95 
96  void push_back(const Digi& digi) {
97  uint16_t esdata[NSAMPLE];
98  for (unsigned int i(0); i != NSAMPLE; ++i) {
99  static const int offset(65536); // for int16 to uint16
100  const int16_t dshort(digi[i].raw());
101  const int dint((int)dshort + // add offset for uint16 conversion
102  ((int16_t)0 > dshort ? offset : (int)0));
103  esdata[i] = dint;
104  }
105  EcalDigiCollection::push_back(digi.id()(), esdata);
106  }
107 };
108 
109 // Free swap functions
110 inline void swap(EcalDigiCollection& lhs, EcalDigiCollection& rhs) { lhs.swap(rhs); }
111 
112 inline void swap(EBDigiCollection& lhs, EBDigiCollection& rhs) { lhs.swap(rhs); }
113 
114 inline void swap(EEDigiCollection& lhs, EEDigiCollection& rhs) { lhs.swap(rhs); }
115 
116 inline void swap(ESDigiCollection& lhs, ESDigiCollection& rhs) { lhs.swap(rhs); }
117 
118 inline void swap(EcalDigiCollectionPh2& lhs, EcalDigiCollectionPh2& rhs) { lhs.swap(rhs); }
119 
120 inline void swap(EBDigiCollectionPh2& lhs, EBDigiCollectionPh2& rhs) { lhs.swap(rhs); }
121 
126 
132 
133 #endif
void push_back(const Digi &digi)
const ESDetId & id() const
Definition: ESDataFrame.h:19
edm::DataFrameContainer::size_type size_type
void swap(EBDigiCollection &other)
edm::SortedCollection< EcalMatacqDigi > EcalMatacqDigiCollection
EcalDataFrame_Ph2 Digi
EBDigiCollectionPh2(size_type istride=MAXSAMPLES)
static const size_type NSAMPLE
void push_back(id_type iid)
edm::SortedCollection< EcalEBTriggerPrimitiveDigi > EcalEBTrigPrimDigiCollection
void push_back(id_type iid)
key_type id() const
Definition: EBDataFrame.h:28
key_type id() const
Definition: EEDataFrame.h:24
EcalDigiCollection(size_type istride=MAXSAMPLES, int isubdet=0)
EcalDigiCollectionPh2(size_type istride=MAXSAMPLES, int isubdet=0)
static const size_type MAXSAMPLES
edm::DataFrameContainer::size_type size_type
static constexpr unsigned int sampleSize
Definition: EcalConstants.h:36
edm::DataFrameContainer::size_type size_type
edm::SortedCollection< EBSrFlag > EBSrFlagCollection
void push_back(id_type iid, data_type const *idata)
ESDigiCollection(size_type istride=NSAMPLE)
edm::SortedCollection< EESrFlag > EESrFlagCollection
static const int MAXSAMPLES
Definition: ESDataFrame.h:30
edm::SortedCollection< EcalPnDiodeDigi > EcalPnDiodeDigiCollection
edm::SortedCollection< EcalEBPhase2TriggerPrimitiveDigi > EcalEBPhase2TrigPrimDigiCollection
Digi::key_type DetId
edm::DataFrame const & frame() const
edm::SortedCollection< EcalTimeDigi > EcalTimeDigiCollection
void push_back(id_type iid)
edm::DataFrameContainer::size_type size_type
void push_back(id_type iid, data_type const *idata)
static const size_type MAXSAMPLES
edm::SortedCollection< EcalTriggerPrimitiveDigi > EcalTrigPrimDigiCollection
void swap(DataFrameContainer &other)
void swap(DataFrameContainer &other)
void push_back(const Digi &digi)
constexpr iterator begin()
Definition: DataFrame.h:33
void push_back(unsigned int i)
edm::DataFrame const & frame() const
Definition: EcalDataFrame.h:50
void push_back(id_type iid, data_type const *idata)
void push_back(id_type iid, data_type const *idata)
deadvectors [0] push_back({0.0175431, 0.538005, 6.80997, 13.29})
edm::SortedCollection< EcalPseudoStripInputDigi > EcalPSInputDigiCollection
void swap(EBDigiCollectionPh2 &other)
void push_back(const Digi &digi)
HLT enums.
void push_back(const Digi &digi)
edm::DataFrameContainer::size_type size_type
void swap(ESDigiCollection &other)
void swap(EEDigiCollection &other)
Digi::key_type DetId
EBDigiCollection(size_type istride=MAXSAMPLES)
edm::DataFrameContainer::size_type size_type
EEDigiCollection(size_type istride=MAXSAMPLES)
void swap(EcalDigiCollection &lhs, EcalDigiCollection &rhs)
Digi::key_type DetId