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