File indexing completed on 2024-04-06 12:04:04
0001 #include "DataFormats/EcalDigi/interface/EcalEBTriggerPrimitiveDigi.h"
0002 #include <iostream>
0003
0004 EcalEBTriggerPrimitiveDigi::EcalEBTriggerPrimitiveDigi() : size_(0), data_(MAXSAMPLES) {}
0005
0006
0007
0008
0009 EcalEBTriggerPrimitiveDigi::EcalEBTriggerPrimitiveDigi(const EBDetId& id) : id_(id), size_(0), data_(MAXSAMPLES) {}
0010
0011 void EcalEBTriggerPrimitiveDigi::setSample(int i, const EcalEBTriggerPrimitiveSample& sam) {
0012
0013 data_[i] = sam;
0014
0015 }
0016
0017 int EcalEBTriggerPrimitiveDigi::sampleOfInterest() const {
0018 if (size_ == 1)
0019 return 0;
0020 else if (size_ == 5)
0021 return 2;
0022 else
0023 return -1;
0024 }
0025
0026
0027 int EcalEBTriggerPrimitiveDigi::encodedEt() const {
0028 int sample = sampleOfInterest();
0029 if (sample != -1)
0030 return data_[sample].encodedEt();
0031 else
0032 return -1;
0033 }
0034
0035 bool EcalEBTriggerPrimitiveDigi::l1aSpike() const {
0036 int sample = sampleOfInterest();
0037 if (sample != -1)
0038 return data_[sample].l1aSpike();
0039 else
0040 return -1;
0041 }
0042
0043 int EcalEBTriggerPrimitiveDigi::time() const {
0044 int sample = sampleOfInterest();
0045 if (sample != -1)
0046 return data_[sample].time();
0047 else
0048 return -1;
0049 }
0050
0051 bool EcalEBTriggerPrimitiveDigi::isDebug() const {
0052 if (size_ == 1)
0053 return false;
0054 else if (size_ > 1)
0055 return true;
0056 return false;
0057 }
0058
0059 void EcalEBTriggerPrimitiveDigi::setSize(int size) {
0060 if (size < 0)
0061 size_ = 0;
0062 else if (size > MAXSAMPLES)
0063 size_ = MAXSAMPLES;
0064 else
0065 size_ = size;
0066 }
0067
0068 std::ostream& operator<<(std::ostream& s, const EcalEBTriggerPrimitiveDigi& digi) {
0069 s << digi.id() << " " << digi.size() << " samples " << std::endl;
0070 for (int i = 0; i < digi.size(); i++)
0071 s << " " << digi.sample(i) << std::endl;
0072 return s;
0073 }