Go to the documentation of this file.00001 #include "DataFormats/HcalDigi/interface/HcalUpgradeDataFrame.h"
00002
00003 HcalUpgradeDataFrame::HcalUpgradeDataFrame() : id_(0),
00004 capId_(0),
00005 size_(0),
00006 presamples_(0)
00007 {
00008 }
00009
00010 HcalUpgradeDataFrame::HcalUpgradeDataFrame(HcalDetId id) : id_(id),
00011 capId_(0),
00012 size_(0),
00013 presamples_(0)
00014 {
00015 }
00016
00017 HcalUpgradeDataFrame::HcalUpgradeDataFrame(HcalDetId id, int capId, int samples, int presamples)
00018 : id_(id),
00019 capId_(capId)
00020 {
00021 setSize(samples) ;
00022 setPresamples(presamples) ;
00023 }
00024
00025 void HcalUpgradeDataFrame::setSize(int size) {
00026 if (size>MAXSAMPLES) size_=MAXSAMPLES;
00027 else if (size<=0) size_=0;
00028 else size_=size;
00029 }
00030
00031 void HcalUpgradeDataFrame::setPresamples(int presamples) {
00032 if (presamples>MAXSAMPLES) presamples_=MAXSAMPLES;
00033 else if (presamples<=0) presamples_=0;
00034 else presamples_=presamples;
00035 }
00036
00037 HcalUpgradeQIESample HcalUpgradeDataFrame::operator[](int i) const {
00038 return HcalUpgradeQIESample(adc(i), (capId_+i)%4, 0, 0);
00039 }
00040
00041 void HcalUpgradeDataFrame::setSample(int iSample,
00042 uint16_t adc,
00043 uint16_t tdc,
00044 bool dv) {
00045
00046 if ( iSample < MAXSAMPLES && iSample>=0) {
00047 adc_[iSample] = adc&0xFF ;
00048 tdc_[iSample] = tdc&0xFFFF ;
00049 dv_[iSample] = dv ;
00050 }
00051 }
00052
00053
00054 std::ostream& operator<<(std::ostream& s, const HcalUpgradeDataFrame& digi) {
00055 s << digi.id() << " " << digi.size() << " samples " << digi.presamples() << " presamples \n";
00056 for (int i=0; i<digi.size(); i++) {
00057 if ( i < digi.presamples() ) s << " (PRE) " ;
00058 else s << " " ;
00059 s << int(digi.capId(i)) << " (capId) ";
00060 s << int(digi.adc(i)) << " (adc) " ;
00061 s << int(digi.tdc(i)) << " (tdc) " ;
00062 if ( digi.valid(i) ) s << " (DV) " ;
00063 s << std::endl ;
00064 }
00065 return s;
00066 }
00067
00068