CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/DataFormats/HcalDigi/src/HcalUpgradeDataFrame.cc

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